我开发了一个应用程序,它将有一个带有上下文菜单的 PyQt托盘图标。当它运行时,它被放置在系统托盘中。除组织中选定的名称外,此应用程序不会有退出按钮。
此应用程序是在系统启动时配置和放置的,因此当每个员工登录到他/她的系统时,它将跟踪他/她的登录并将员工的可用性更新为数据库中的“在线”。
到目前为止,一切都工作正常。主要问题是他/她注销或关闭系统并离开办公室时。此时,我需要将数据库中的员工可用性更新为“离线”。我不知道如何跟踪这些系统事件。
我尝试了以下信号
- 最后窗口关闭()
- aboutToQuit()
- 销毁()
- 重载 closeEvent()
当我启动注销/关闭时,我的关闭定义永远不会在任何这些信号下执行
最佳答案
有 QSessionManager专为此任务设计的类,尽管它似乎在某些平台上比其他平台上工作得更好。请参阅Session Management overview了解更多详情。
关于python - 如何干净地关闭 PyQt 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13911985/