如何通知 Qt 应用程序用户会话即将结束,并让其有机会在终止之前保存其状态?

如何通知 Qt 应用程序用户会话即将结束,并让其有机会在终止之前保存其状态?

我正在编写一个 Qt 应用程序,遇到了以下问题:当用户注销或尝试关闭计算机时,应用程序会立即终止,而没有给它任何保存数据的机会。我假设应用程序需要监听某个事件。我尝试监听信号SIGTERM,但我的应用程序在有机会响应信号之前就被终止了。

我有什么选择?

答案1

我开始使用 Qt 进行应用程序开发,并在 Qt 参考文档中找到了“会话管理”一章。我认为您会发现一些有趣的内容。

会话是一组正在运行的应用程序,每个应用程序都有特定的状态。会话由名为会话管理器的服务控制。参与会话的应用程序称为会话客户端。[...] 首先重新实现 QApplication::commitData(),以使您的应用程序能够参与正常注销过程。[...]

你可以找到它这里

相关内容