PyQt5:消息窗口(5)
2016-06-01 00:04
573 查看
学习《PyQt4入门指南 PDF中文版.pdf 》笔记
#!/usr/bin/python
# messagebox.py
from PyQt5 import QtWidgets
from PyQt5.QtWidgets import QMessageBox
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 = QMessageBox.question(self, 'Message',
"Are you sure to quit?", QMessageBox.Yes, QMessageBox.No)
if reply == QMessageBox.Yes: event.accept() else: event.ignore()
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
msgBox = MessageBox()
msgBox.show()
sys.exit(app.exec_())
如果我们关闭QWidget窗口,QCloseEvent事件就会被触发。要改变原有的Widget行为阻止该窗口的关闭,我们就需要重新实现closeEvent()方法。
reply= QMessageBox.question(self, 'Message',
"Are you sure to quit?", QMessageBox.Yes, QMessageBox.No) 通过上面的语句我们可以显示一个带有两个按钮(Yes/No)的消息窗口。第一个字符串参数'Message'在消息窗口的标题栏显示。第二个字符串参数以对话的形式显示在消息窗口中。返回的结果被保存在reply变量中。
#!/usr/bin/python
# messagebox.py
from PyQt5 import QtWidgets
from PyQt5.QtWidgets import QMessageBox
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 = QMessageBox.question(self, 'Message',
"Are you sure to quit?", QMessageBox.Yes, QMessageBox.No)
if reply == QMessageBox.Yes: event.accept() else: event.ignore()
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
msgBox = MessageBox()
msgBox.show()
sys.exit(app.exec_())
如果我们关闭QWidget窗口,QCloseEvent事件就会被触发。要改变原有的Widget行为阻止该窗口的关闭,我们就需要重新实现closeEvent()方法。
reply= QMessageBox.question(self, 'Message',
"Are you sure to quit?", QMessageBox.Yes, QMessageBox.No) 通过上面的语句我们可以显示一个带有两个按钮(Yes/No)的消息窗口。第一个字符串参数'Message'在消息窗口的标题栏显示。第二个字符串参数以对话的形式显示在消息窗口中。返回的结果被保存在reply变量中。
if reply == QMessageBox.Yes: event.accept() else: event.ignore()我们使用上面的if语句来判断用户选择的结果。如果用户选择了Yes按钮,那么关闭widget窗口并终止应用程序的动作会被允许执行。否则,关闭窗口的动作会被忽略。
相关文章推荐
- PyQt5:关闭窗口(4)
- PyQt5:显示提示信息(3)
- PyQt5:程序图标(2)
- PyQt5:使用PyQt5 创建入门程序 (1)
- 如何正确使用QThread
- QT中QWS含义
- vs+qt环境下, 对stk进行二次开发笔记
- change qtcreator3.6.0 backbround color on ubuntu 14.04
- vs+qt插件,无法解析的外部符号解决记录
- 问题
- Qt_DLL_4_MFC
- 关于vs2015+qt5.x+vtk的配置
- Qtask操作指南
- QT的qmake流程
- QT5.6.0安装错误记录
- 『QT』创客空间元件管理系统
- 第7课时《osg交互》
- Qt中的中信号槽与异步调用
- QT的QImage 与 Opencv的Mat 之间的转换
- Qt QTableWidget的使用方式