![a3436d799ac4e9192a97799dd8bae167.png](https://i-blog.csdnimg.cn/blog_migrate/17c69ef455c068ee2435d7c17a8993cc.jpeg)
上期我们补充学习了QFileDialog以及打印文件相关的对话框。
这次我们再学习下消息对话框。
今天完成后的效果就是这样的:
![c7985f2b4f3a0fde5c9a521b6d447ae0.gif](https://i-blog.csdnimg.cn/blog_migrate/a57806c1b7f7257bac87e9c8c38a317d.gif)
下面我们还是和以往一样,按照代码来进行讲解。
#conding=utf-8
from PyQt5.QtWidgets import QWidget, QApplication, QPushButton, QMessageBox, QLabel, QCheckBox
from PyQt5.QtGui import QPixmap
import sys
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(300, 300, 330, 300)
self.setWindowTitle('关注微信公众号:学点编程吧--消息对话框')
self.la = QLabel('这里将会显示我们选择的按钮信息',self)
self.la.move(20,20)
self.bt1 = QPushButton('提示',self)
self.bt1.move(20,70)
self.bt2 = QPushButton('询问',self)
self.bt2.move(120,70)
self.bt3 = QPushButton('警告',self)
self.bt3.move(220,70)
self.bt4 = QPushButton('错误',self)
self.bt4.move(20,140)
self.bt5 = QPushButton('关于',self)
self.bt5.move(120,140)
self.bt6 = QPushButton('关于Qt',self)
self.bt6.move(220,140)
self.bt1.clicked.connect(self.info)
self.bt2.clicked.connect(self.question)
self.bt3.clicked.connect(self.warning)
self.bt4.clicked.connect(self.critical)
self.bt5.clicked.connect(self.about)
self.bt6.clicked.connect(self.aboutqt)
self.show()
def info(self):
reply = QMessageBox.information(self,'提示','这是一个消息提示对话框!', QMessageBox.Ok | QMessageBox.Close, QMessageBox.Close)
if reply == QMessageBox.Ok:
self.la.setText('你选择了Ok!')
else:
self.la.setText('你选择了Close!')
def question(self):
reply = QMessageBox.question(self,'询问','这是一个询问消息对话框,默认是No', QMessageBox.Yes | QMessageBox.No | QMessageBox.Cancel, QMessageBox.No)
if reply == QMessageBox.Yes:
self.la.setText('你选择了Yes!')
elif reply == QMessageBox.No:
self.la.setText('你选择了No!')
else:
self.la.setText('你选择了Cancel!')
def warning(self):
# reply = QMessageBox.warning(self,'警告','这是一个警告消息对话框', QMessageBox.Save | QMessageBox.Discard | QMessageBox.Cancel, QMessageBox.Save)
cb = QCheckBox('所有文档都按此操作')
msgBox = QMessageBox()
msgBox.setWindowTitle('警告')
msgBox.setIcon(QMessageBox.Warning)
msgBox.setText('这是一个警告消息对话框')
msgBox.setInformativeText('出现更改愿意保存吗?')
Save = msgBox.addButton('保存', QMessageBox.AcceptRole)
NoSave = msgBox.addButton('取消', QMessageBox.RejectRole)
Cancel = msgBox.addButton('不保存', QMessageBox.DestructiveRole)
msgBox.setDefaultButton(Save)
msgBox.setCheckBox(cb)
cb.stateChanged.connect(self.c