PyQt 应用程序退出时提示

发布于 2024-08-05 02:58:48 字数 82 浏览 2 评论 0 原文

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

类似于“您确定要退出该程序吗?”

我正在使用 PyQt。

Is there any way to promt user to exit the gui-program written in Python?

Something like "Are you sure you want to exit the program?"

I'm using PyQt.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

段念尘 2024-08-12 02:58:48

是的。您需要覆盖代表您的应用程序的 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()

教程 //stackoverflow.com/questions/1414781/prompt-on-exit-in-pyqt-application/1414828#1414828">las3rjock对此有很好的讨论。另请查看 Python.org 的 PyQt 页面 中的链接,特别是 官方参考,了解有关事件以及如何处理事件的更多信息。

Yes. You need to override the default close behaviour of the QWidget representing your application so that it doesn't immediately accept the event. The basic structure you want is something like this:

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()

The PyQt tutorial mentioned by las3rjock has a nice discussion of this. Also check out the links from the PyQt page at Python.org, in particular the official reference, to learn more about events and how to handle them.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文