标签:
#!/usr/bin/python
# messagebox.py
import sys
from PyQt5 import QtWidgets
class MessageBox(QtWidgets.QWidget):
def __init__(self, parent = None):
QtWidgets.QWidget.__init__(self, parent)
self.setGeometry(300, 300, 250, 150)
self.setWindowTitle(‘message box‘)
def closeEvent(self, event):
reply = QtWidgets.QMessageBox.question(self, ‘Message‘,
"Are you sure to quit?", QtWidgets.QMessageBox.Yes,
QtWidgets.QMessageBox.No)
if reply == QtWidgets.QMessageBox.Yes:
event.accept()
else:
event.ignore()
if __name__ == ‘__main__‘:
app = QtWidgets.QApplication(sys.argv)
qb = MessageBox()
qb.show()
sys.exit(app.exec_())
‘‘‘如果我们关闭 QWidget 窗口, QCloseEvent 事件就会被触发。 要改变原有的 wdiget 行为
阻止查窗口的关闭,我们就需要重新实现 closeEvent()方法。
reply = QtGui.QMessageBox.question(self, ‘Message‘,
"Are you sure to quit?", QtGui.QMessageBox.Yes,
QtGui.QMessageBox.No)
通过上面的语句我们可以显示一个带有两个按钮 (Yes/No) 的消息窗口。 第一个字符串
参数‘Message‘在消息窗口的标题栏显示。第二个字符串参数以对话的形式显示在消息窗口
中。返回的结果被保存在 reply 变量中。
if reply == QtGui.QMessageBox.Yes:
event.accept()
else:
event.ignore()
我们使用上面的 if 语句来判断用户选择的结果。如果用户选择了 Yes 按钮,那么关闭
widget 窗口并终止应用程序的动作会被允许执行。否则,关闭窗口的动作会被忽略。‘‘‘
标签:
原文地址:http://www.cnblogs.com/mhxy13867806343/p/4013580.html