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

标签 python user-interface pyqt4 signals-slots

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

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

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

我尝试了以下信号

  1. 最后窗口关闭()
  2. aboutToQuit()
  3. 销毁()
  4. 重载 closeEvent()

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

最佳答案

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

关于python - 如何干净地关闭 PyQt 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13911985/

相关文章:

python - 俄语文本分类

python - 匹配列中的值并返回 pandas | 中的另一列Python

javascript - 在 Internet Explorer 上悬停表格标题时不显示工具提示

python - PyQt4 文件选择小部件

python - 如何使用 ExtendedComboBox 在 ui 文件中工作?

python - PyQt 和 py2exe : no sound from QSound after compiling to . exe

python - Matplotlib 及其与 tkinter 的连接

python - 命令在 bash 终端中工作,但在 Python subprocess.Popen() 中不工作;收到 'paths must precede expression: ` %p' 错误

node.js - Node JS 可以为 UI 提供什么吗?

delphi - 寻找 Delphi 的径向弹出菜单组件