1. 程式人生 > >【PyQt5-Qt Designer】QMessageBox 彈出框總結

【PyQt5-Qt Designer】QMessageBox 彈出框總結

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案例