Python PyQt4 关闭应用程序

Posted

技术标签:

【中文标题】Python PyQt4 关闭应用程序【英文标题】:Python PyQt4 closing the application 【发布时间】:2012-09-16 02:19:51 【问题描述】:

我想知道,关闭对话框的最佳或首选方式是什么。假设我打开了主窗口、设置和帮助窗口。用户决定退出主窗口,那么如何拦截信号以及关闭打开的窗口的最佳方法是什么?

dialogMain.close()的使用够好吗?

【问题讨论】:

【参考方案1】:

您可以覆盖closeEvent 方法:

class YourApplication(QMainWindow):
  # ...

  def closeEvent(self, event):
    if condition:
      if QMessageBox.question(self, 'Your Application', 'Are you sure you want to exit?', QMessageBox.Yes, QMessageBox.No) == QMessageBox.Yes:
        # Do anything before the application closes

        event.accept()
      else:
        event.ignore()

【讨论】:

以上是关于Python PyQt4 关闭应用程序的主要内容,如果未能解决你的问题,请参考以下文章

如何从 closeEvent 处理使用 PyQt4 检测注销/关闭?

关闭 PyQt 对话框会终止父进程? (PyQt4 / Pyside) 带有示例代码

从 PyQt5 转换为 PyQt4 [关闭]

用于保存和恢复 UI 小部件值的 Python PyQt4 函数?

内存未释放 - PyQt4

PyQt4关闭窗口