【问题标题】:How to close PyQt app cleanly如何干净地关闭 PyQt 应用程序
【发布时间】:2012-12-17 10:05:30
【问题描述】:

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

这个应用程序是在系统启动时配置和放置的,所以当每个员工登录到他/她的系统时,它会跟踪他/她的登录并将数据库中的员工可用性更新为“在线”。

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

我尝试了以下信号

  1. lastWindowClosed()
  2. aboutToQuit()
  3. 销毁()
  4. 重载closeEvent()

当我启动注销/关机时,我的关闭定义永远不会在任何这些信号下执行

【问题讨论】:

    标签: python user-interface pyqt4 signals-slots


    【解决方案1】:

    QSessionManager 类是为此任务而设计的,尽管它似乎在某些平台上比在其他平台上工作得更好。详情请见Session Management overview

    【讨论】:

    • 感谢您的建议,作为替代方案,我可以接受作为我的问题 +1 的答案
    猜你喜欢
    • 1970-01-01
    • 2013-01-24
    • 2016-09-29
    • 1970-01-01
    • 2014-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多