在PyQt应用程序中退出提示
是的。您需要重写表示应用程序的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的tutorial对此有着很好的讨论。还请查看Python.org上的PyQt page的链接,特别是official reference,以了解更多有关事件以及如何处理它们的信息。
哦,非常感谢! – 2009-09-12 19:19:25
如何将“是”和“否”设置为其他语言?如果我的信息是,例如用德语,我想要“ja”和“nicht”而不是“是”和“否”。 – Aleksandar 2013-01-09 14:48:38
开箱即用(无需任何修改)! – 2013-08-06 09:20:06
看看[PyQt4教程的这一部分](http://zetcode.com/tutorials/pyqt4/firstprograms/)中的“消息框”部分。 *(来自[las3rjock](http://stackoverflow.com/users/94732/las3rjock)的答案)* – 2015-04-07 20:03:35
请看[PyQt4教程的这一部分](http://zetcode.com)的“消息框”部分/教程/ PyQt4的/ firstprograms /)。 – las3rjock 2009-09-12 10:34:58