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

主界面

 

 關於對話框

 

 消息對話框

 

 警告對話框

 

 錯誤對話框

 

 疑問對話框

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM