PYQT5 消息对话框汇总

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_())

运行效果

通知对话框

PYQT5 消息对话框汇总

 询问对话框

PYQT5 消息对话框汇总

 警告对话框

PYQT5 消息对话框汇总

严重警告对话框

 PYQT5 消息对话框汇总

关于对话框

 PYQT5 消息对话框汇总

 关于Qt对话框

PYQT5 消息对话框汇总

 今日美图

PYQT5 消息对话框汇总

 PYQT5 消息对话框汇总

 PYQT5 消息对话框汇总

 

上一篇:Python Qt GUI设计入门(三)信号与槽函数


下一篇:【C#】隐式类型var