QMessageBox提供两套接口来实现,一种是static functions(静态方法调用),另外一种 the property-base API(基于属性的API)
#需要 from PyQt5.QtWidgets import QMessageBox
1 import sys 2 from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QMessageBox 3 4 class Demo(QWidget): 5 def __init__(self): 6 super(Demo, self).__init__() 7 self.button = QPushButton('显示信息框', self) 8 self.button.clicked.connect(self.show_messagebox) 9 self.button1 = QPushButton('显示问答框', self) 10 self.button1.clicked.connect(self.show1_messagebox) 11 self.button1.move(0,30) 12 self.button2 = QPushButton('显示警告框', self) 13 self.button2.clicked.connect(self.show2_messagebox) 14 self.button2.move(0, 60) 15 self.button3 = QPushButton('显示错误框', self) 16 self.button3.clicked.connect(self.show3_messagebox) 17 self.button3.move(0, 90) 18 self.button4 = QPushButton('显示关于框', self) 19 self.button4.clicked.connect(self.show4_messagebox) 20 self.button4.move(0, 120) 21 22 def show_messagebox(self): 23 QMessageBox.information(self, '信息框标题', '信息框提示内容', 24 QMessageBox.Yes | QMessageBox.No ) #信息框 25 ''' 26 信息框: 27 格式 QMessageBox.information(QWidget, ‘信息框标题’, ’信息框提示内容‘, buttons) 28 第一个参数填self,表示该信息框的父窗口 29 第二个参数类型为字符串,填入的是该信息框的标题 30 第三个参数类型也是字符串,填入的是信息框的提示内容 31 参数4为信息框上要添加的按钮,在示例代码中我们添加了Yes、No,多个按钮之间用 | 来连接 32 常见的按钮种类有以下几种: 33 QMessageBox.Ok 34 QMessageBox.Yes 35 QMessageBox.No 36 QMessageBox.Close 37 QMessageBox.Cancel 38 QMessage.Open 39 QMessage.Save 40 ''' 41 def show1_messagebox(self): 42 QMessageBox.question(self, '问答框标题', '问答框提示内容', 43 QMessageBox.Yes | QMessageBox.No ) #问答框 44 def show2_messagebox(self): 45 QMessageBox.warning(self, '警告框标题', '警告框提示内容', 46 QMessageBox.Yes | QMessageBox.No ) #警告框 47 def show3_messagebox(self): 48 QMessageBox.ctitical(self, '错误框标题', '错误框提示内容', 49 QMessageBox.Yes | QMessageBox.No ) #错误框 【不知为何 抛出异常】 50 def show4_messagebox(self): 51 QMessageBox.about(self, '关于框标题', '关于框提示内容', 52 QMessageBox.Yes | QMessageBox.No ) #关于框 【不知为何抛出异常】 53 54 if __name__ == '__main__': 55 app = QApplication(sys.argv) 56 demo = Demo() 57 demo.show() 58 sys.exit(app.exec_())
效果图: