
正文
【PyQt5-Qt Designer】QMessageBox 弹出框总结
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
QMessageBoxQMessageBox类中常用方法
| 方法 | 描述 |
| information(QWdiget parent,title,text,buttons,defaultButton) | 弹出消息对话框,各参数解释如下 |
| parent:指定的父窗口控件 | |
| title:对话框标题 | |
| text:对话框文本 | |
| buttons:多个标准按钮,默认为ok按钮 | |
| defaultButton:默认选中的标准按钮,默认选中第一个标准按钮 | |
| question(QWidget parent,title,text,buttons,defaultButton) | 弹出问答对话框(各参数解释如上) |
| warning(QWidget parent,title,text,buttons,defaultButton) | 弹出警告对话框(各参数解释如上) |
| critical(QWidget parent,title,text,buttons,defaultButton) | 弹出严重错误对话框(各参数解释如上) |
| about(QWidget parent,title,text) | 弹出关于对话框(各参数解释如上) |
| setTitle() | 设置标题 |
| setText() | 设置正文消息 |
| setIcon() | 设置弹出对话框的图片 |
QMessageBox的标准按钮类型如下表
| 类型 | 描述 |
| QMessage.Ok | 同意操作 |
| QMessage.Cancel | 取消操作 |
| QMessage.Yes | 同意操作 |
| QMessage.No | 取消操作 |
| QMessage.Abort | 终止操作 |
| QMessage.Retry | 重试操作 |
| QMessage.Ignore | 忽略操作 |
5中常用的消息对话框及其显示效果
| 对话框类型 | 显示效果 |
消息对话框,用来告诉用户关于提示信息 QMessageBox.information(self,'标题','消息对话框正文',QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes) | ![]() |
提问对话框,用来告诉用户关于提问消息 QMessageBox.question(self,'标题','提问框消息正文',QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes) | ![]() |
警告对话框,用来告诉用户关于不寻常的错误消息 QMessageBox.warning(self,'标题','警告框消息正文',QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes) | ![]() |
严重错误对话框,用来告诉用户关于严重的错误消息 QMessageBox.critical(self,'标题','严重错误对话框消息正文',QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes) | ![]() |
关于对话框 QMessageBox.about(self,'标题','关于对话框' ) | ![]() |
效果如下:

完整代码如下:
import sys
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtGui import * class MyWindow(QWidget):
def __init__(self,parent=None):
super(MyWindow, self).__init__(parent)
self.initUi() def initUi(self):
self.setWindowTitle('QMessageBox例子')
self.setGeometry(300,300,400,300)
self.grid = QGridLayout()
self.mybutton1=QPushButton('消息弹出消息框',self)
self.mybutton1.clicked.connect(self.information_msg)
self.grid.addWidget(self.mybutton1,1,1) self.mybutton2 = QPushButton('提问弹出消息框', self)
self.mybutton2.clicked.connect(self.question_msg)
self.grid.addWidget(self.mybutton2, 1, 2) self.mybutton3 = QPushButton('警告弹出消息框', self)
self.mybutton3.clicked.connect(self.warning_msg)
self.grid.addWidget(self.mybutton3, 1, 3) self.mybutton4 = QPushButton('严重错误弹出消息框', self)
self.mybutton4.clicked.connect(self.critical_msg)
self.grid.addWidget(self.mybutton4, 2, 1) self.mybutton5 = QPushButton('关于弹出消息框', self)
self.mybutton5.clicked.connect(self.about_msg)
self.grid.addWidget(self.mybutton5, 2, 2) self.setLayout(self.grid) def information_msg(self):
reply = QMessageBox.information(self, '标题','消息对话框正文',QMessageBox.Yes | QMessageBox.No,QMessageBox.Yes)
def question_msg(self):
reply1 = QMessageBox.question(self, "标题", "提问框消息正文", QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes)
def warning_msg(self):
reply2 = QMessageBox.warning(self, "标题", "警告框消息正文", QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes)
def critical_msg(self):
reply3 = QMessageBox.critical(self, "标题", "严重错误对话框消息正文", QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes)
def about_msg(self):
reply4 = QMessageBox.about(self, "标题", "关于对话框消息正文") if __name__ == '__main__':
app=QApplication(sys.argv)
myshow=MyWindow()
myshow.show()
sys.exit(app.exec_())
QMessageBox案例












