【PyQt5-Qt Designer】QMessageBox 彈出框總結
阿新 • • 發佈:2018-12-26
QMessageBox
QMessageBox類中常用方法
方法 | 描述 |
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,'標題','關於對話方塊' ) |
|
效果如下:
完整程式碼如下:
1 import sys 2 from PyQt5.QtCore import * 3 from PyQt5.QtWidgets import * 4 from PyQt5.QtGui import * 5 6 class MyWindow(QWidget): 7 def __init__(self,parent=None): 8 super(MyWindow, self).__init__(parent) 9 self.initUi() 10 11 def initUi(self): 12 self.setWindowTitle('QMessageBox例子') 13 self.setGeometry(300,300,400,300) 14 self.grid = QGridLayout() 15 self.mybutton1=QPushButton('訊息彈出訊息框',self) 16 self.mybutton1.clicked.connect(self.information_msg) 17 self.grid.addWidget(self.mybutton1,1,1) 18 19 self.mybutton2 = QPushButton('提問彈出訊息框', self) 20 self.mybutton2.clicked.connect(self.question_msg) 21 self.grid.addWidget(self.mybutton2, 1, 2) 22 23 self.mybutton3 = QPushButton('警告彈出訊息框', self) 24 self.mybutton3.clicked.connect(self.warning_msg) 25 self.grid.addWidget(self.mybutton3, 1, 3) 26 27 self.mybutton4 = QPushButton('嚴重錯誤彈出訊息框', self) 28 self.mybutton4.clicked.connect(self.critical_msg) 29 self.grid.addWidget(self.mybutton4, 2, 1) 30 31 self.mybutton5 = QPushButton('關於彈出訊息框', self) 32 self.mybutton5.clicked.connect(self.about_msg) 33 self.grid.addWidget(self.mybutton5, 2, 2) 34 35 self.setLayout(self.grid) 36 37 def information_msg(self): 38 reply = QMessageBox.information(self, '標題','訊息對話方塊正文',QMessageBox.Yes | QMessageBox.No,QMessageBox.Yes) 39 def question_msg(self): 40 reply1 = QMessageBox.question(self, "標題", "提問框訊息正文", QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes) 41 def warning_msg(self): 42 reply2 = QMessageBox.warning(self, "標題", "警告框訊息正文", QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes) 43 def critical_msg(self): 44 reply3 = QMessageBox.critical(self, "標題", "嚴重錯誤對話方塊訊息正文", QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes) 45 def about_msg(self): 46 reply4 = QMessageBox.about(self, "標題", "關於對話方塊訊息正文") 47 48 49 if __name__ == '__main__': 50 app=QApplication(sys.argv) 51 myshow=MyWindow() 52 myshow.show() 53 sys.exit(app.exec_())QMessageBox案例