25

有什么方法可以提示用户退出用 Python 编写的 gui 程序?

诸如“您确定要退出程序吗?”之类的内容。

我正在使用 PyQt。

4

1 回答 1

60

是的。您需要覆盖表示您的应用程序的 QWidget 的默认关闭行为,以便它不会立即接受该事件。你想要的基本结构是这样的:

def closeEvent(self, event):

    quit_msg = "Are you sure you want to exit the program?"
    reply = QtGui.QMessageBox.question(self, 'Message', 
                     quit_msg, QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)

    if reply == QtGui.QMessageBox.Yes:
        event.accept()
    else:
        event.ignore()

las3rjock提到的 PyQt教程对此进行了很好的讨论。另请查看 Python.org 上PyQt 页面的链接,尤其是官方参考资料,以了解有关事件以及如何处理它们的更多信息。

于 2009-09-12T11:25:00.297 回答