如何干净地关闭PyQt应用程序

时间:2012-12-17 10:05:30

标签: python user-interface pyqt4 signals-slots

我开发了一个应用程序,它将具有带上下文菜单的PyQt trayIcon。当它运行时,它被放置在系统托盘中。除了组织中的选定名称外,此应用程序不会有退出按钮。

此应用程序已配置并置于系统启动时,因此当每个员工登录到他/她的系统时,它将跟踪其登录并将员工可用性更新为数据库中的“在线”。

直到这一点,一切正常。主要问题是当他/她登录或关闭系统并离开办公室时。此时,我需要在数据库中将员工可用性更新为“离线”。我不知道如何跟踪这些系统事件。

我试过以下信号

  1. lastWindowClosed()
  2. aboutToQuit()
  3. 破坏()
  4. 重载closeEvent()
  5. 当我启动Logoff / Shutdown

    时,我的关闭定义永远不会执行任何这些信号

1 个答案:

答案 0 :(得分:2)

有为此任务设计的QSessionManager类,尽管它似乎在某些平台上比其他平台更好。有关详细信息,请参阅Session Management overview