PYQT5 消息对话框汇总
'''
Pyqt5
6种Qt对话框介绍
通知对话框 information----程序运行时对用户操作进行反馈,保存,提交,写入等操作成功。
询问对话框 question--------提醒用户是否进行某种操作。
警告对话框 warning---------程序运行时产生的异常,提示用户注意,非致命性错误,一般可以忽略。
严重警告对话框 critical-----程序运行时产生的严重错误或者异常,不可忽略,容易产生意想不到的结果,必须通知用户干预。
关于对话框 about------------一般是软件或者产品介绍,多为文字性描述,界面简单。
AboutQt对话框---------------PyQt内置的Qt介绍对话框
'''
代码示范
from PyQt5 import QtCore
from PyQt5.QtWidgets import QApplication, QPushButton, QLabel, QDialog, QMessageBox
import sys
class Ui_Dialog(object):
def setupUi(self, Dialog):
Dialog.setObjectName("Dialog")
Dialog.resize(434, 329)
self.infoBtn = QPushButton(Dialog)
self.infoBtn.setGeometry(QtCore.QRect(40, 40, 101, 23))
self.infoBtn.setObjectName("infoBtn")
self.questionBtn = QPushButton(Dialog)
self.questionBtn.setGeometry(QtCore.QRect(40, 80, 101, 23))
self.questionBtn.setObjectName("questionBtn")
self.warningBtn = QPushButton(Dialog)
self.warningBtn.setGeometry(QtCore.QRect(40, 120, 101, 23))
self.warningBtn.setObjectName("warningBtn")
self.criticalBtn = QPushButton(Dialog)
self.criticalBtn.setGeometry(QtCore.QRect(40, 160, 101, 23))
self.criticalBtn.setObjectName("criticalBtn")
self.aboutBtn = QPushButton(Dialog)
self.aboutBtn.setGeometry(QtCore.QRect(40, 200, 101, 23))
self.aboutBtn.setObjectName("aboutBtn")
self.label = QLabel(Dialog)
self.label.setGeometry(QtCore.QRect(190, 10, 221, 16))
self.label.setObjectName("label")
self.aboutQtBtn = QPushButton(Dialog)
self.aboutQtBtn.setGeometry(QtCore.QRect(40, 240, 101, 23))
self.aboutQtBtn.setObjectName("aboutQtBtn")
self.retranslateUi(Dialog)
self.infoBtn.clicked.connect(Dialog.infoBtn_clicked)
self.questionBtn.clicked.connect(Dialog.questionBtn_clicked)
self.warningBtn.clicked.connect(Dialog.warningBtn_clicked)
self.criticalBtn.clicked.connect(Dialog.criticalBtn_clicked)
self.aboutBtn.clicked.connect(Dialog.aboutBtn_clicked)
self.aboutQtBtn.clicked.connect(Dialog.aboutQtBtn_clicked)
QtCore.QMetaObject.connectSlotsByName(Dialog)
def retranslateUi(self, Dialog):
_translate = QtCore.QCoreApplication.translate
Dialog.setWindowTitle(_translate("Dialog", "6种Qt对话框实例"))
self.infoBtn.setText(_translate("Dialog", "通知对话框"))
self.questionBtn.setText(_translate("Dialog", "询问对话框"))
self.warningBtn.setText(_translate("Dialog", "警告对话框"))
self.criticalBtn.setText(_translate("Dialog", "严重警告对话框"))
self.aboutBtn.setText(_translate("Dialog", "关于对话框"))
self.label.setText(_translate("Dialog", "我是一个lable"))
self.aboutQtBtn.setText(_translate("Dialog", "关于Qt对话框"))
class main(QDialog):
def __init__(self):
super(main, self).__init__()
print("Dialog is called!")
self.ui = Ui_Dialog()
self.ui.setupUi(self)
# 通知对话框槽函数
def infoBtn_clicked(self):
# 显示的按钮分别是Ok、Close,默认按钮是Close。
reply = QMessageBox.information(self, "通知", "程序运行时对用户操作进行反馈,保存,提交,写入等操作成功", QMessageBox.Ok | QMessageBox.Close,QMessageBox.Close)
if reply == QMessageBox.Ok:
self.ui.label.setText('你选择了Ok!')
else:
self.ui.label.setText('你选择了Close!')
# 询问对话框槽函数
def questionBtn_clicked(self):
reply = QMessageBox.question(self, "询问", "提醒用户是否进行某种操作", QMessageBox.Yes | QMessageBox.No | QMessageBox.Cancel,
QMessageBox.No)
if reply == QMessageBox.Yes:
self.ui.label.setText('你选择了Yes!')
elif reply == QMessageBox.No:
self.ui.label.setText('你选择了No!')
else:
self.ui.label.setText('你选择了Cancel!')
# 警告对话框槽函数
def warningBtn_clicked(self):
QMessageBox.warning(self, '警告', '程序运行时产生的异常,提示用户注意,非致命性错误,一般可以忽略',
QMessageBox.Save | QMessageBox.Discard | QMessageBox.Cancel, QMessageBox.Save)
# 严重警告对话框槽函数
def criticalBtn_clicked(self):
QMessageBox.critical(self, '严重警告', '程序运行时产生的严重错误或者异常',
QMessageBox.Retry | QMessageBox.Abort | QMessageBox.Ignore, QMessageBox.Retry)
# 关于对话框槽函数
def aboutBtn_clicked(self):
QMessageBox.about(self, "关于", "软件或者产品介绍")
# 关于Qt对话框槽函数
def aboutQtBtn_clicked(self):
QMessageBox.aboutQt(self, "关于Qt")
if __name__ == "__main__":
app = QApplication(sys.argv)
main = main()
# 显示主界面
main.show()
sys.exit(app.exec_())
运行效果
通知对话框
询问对话框
警告对话框
严重警告对话框
关于对话框
关于Qt对话框
今日美图