PyQt5基础学习-QMessageBox(消息对话框) 1.QMessageBox.about(关于对话框) 2.QMessageBox.information(消息对话框) 3.QMessageBox.warning(警告对话框) 4.QMessageBox.critical(错误对话框) 5.QMessageBox.question(提问对话框)

通过一个按钮的点击, 绑定一个函数,获取当前按钮被按下的文本, 根据文本,显示对应的提示框

QMessageBox.py 

"""
消息对话框 QMessageBox

1. 关于对话框
2. 错误对话框
3. 警告对话框
4. 提问对话框
5. 消息对话框

有2点差异
1. 显示对话框图标可能不同
2. 显示的按钮是不一样的
"""
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import Qt


class QMessageBoxDemo(QWidget):
    def __init__(self):
        super(QMessageBoxDemo, self).__init__()
        self.initUI()

    def initUI(self):
        self.setWindowTitle("QMessageBox案例")
        self.resize(300, 400)

        layout = QVBoxLayout()
        self.button1 = QPushButton("显示关于对话框")
        self.button1.clicked.connect(self.showDialog)

        self.button2 = QPushButton("显示消息对话框")
        self.button2.clicked.connect(self.showDialog)

        self.button3 = QPushButton("显示警告对话框")
        self.button3.clicked.connect(self.showDialog)

        self.button4 = QPushButton("显示错误对话框")
        self.button4.clicked.connect(self.showDialog)

        self.button5 = QPushButton("显示提问对话框")
        self.button5.clicked.connect(self.showDialog)


        layout.addWidget(self.button1)
        layout.addWidget(self.button2)
        layout.addWidget(self.button3)
        layout.addWidget(self.button4)
        layout.addWidget(self.button5)

        self.setLayout(layout)

    def showDialog(self):
        #获得当前被按下的按钮的文本内容
        text = self.sender().text()
        #根据文本内容判断哪种类型的框将被显示
        if text == "显示关于对话框":
            QMessageBox.about(self, "关于", "这是一个关于对话框")
        elif text == "显示消息对话框":
            reply = QMessageBox.information(self, "消息", "这是一个消息对话框", QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes)
            print(reply == QMessageBox.Yes)
        elif text == "显示警告对话框":
            QMessageBox.warning(self, "警告", '这是一个警告对话框', QMessageBox.Retry | QMessageBox.No, QMessageBox.Retry)
        elif text == "显示错误对话框":
            QMessageBox.critical(self, "错误", '这是一个错误对话框', QMessageBox.Retry | QMessageBox.No, QMessageBox.Retry)
        else:
            QMessageBox.question(self, "提问", '这是一个提问对话框', QMessageBox.Retry | QMessageBox.No, QMessageBox.Retry)

if __name__ == "__main__":
    app = QApplication(sys.argv)

    main = QMessageBoxDemo()
    main.show()

    sys.exit(app.exec_())

主界面

 

 关于对话框

 

 消息对话框

 

 警告对话框

 

 错误对话框

 

 疑问对话框

 

posted @ 2022-01-27 23:42  c语言我的最爱  阅读(2277)  评论(0编辑  收藏  举报