PyQt5--MessageBox
1 # -*- coding:utf-8 -*- 2 ''' 3 Created on Sep 13, 2018 4 5 @author: SaShuangYiBing 6 ''' 7 import sys 8 from PyQt5.QtWidgets import QApplication,QWidget,QMessageBox,QPushButton 9 from PyQt5.QtCore import QCoreApplication 10 11 class New_test(QWidget): 12 def __init__(self): 13 super().__init__() 14 self.initUI() 15 16 def initUI(self): 17 qbtn = QPushButton('Quit',self) # 创建了一个按钮。按钮是一个QPushButton类的实例。 18 # 构造方法的第一个参数是显示在button上的标签文本。第二个参数是父组件。 19 # 父组件是Example组件,它继承了QWiget类。 20 qbtn.clicked.connect(QCoreApplication.instance().quit) 21 qbtn.resize(qbtn.sizeHint()) 22 qbtn.move(100,50) 23 self.setGeometry(300,300,250,150) 24 self.setWindowTitle('Message box') 25 self.show() 26 27 def closeEvent(self, event): 28 reply = QMessageBox.question(self, 'Message', 'Are you want to quit?', QMessageBox.Yes | QMessageBox.No,QMessageBox.Yes) 29 if reply == QMessageBox.Yes: 30 event.accept() 31 else: 32 event.ignore() 33 34 if __name__ == "__main__": 35 app = QApplication(sys.argv) 36 ex = New_test() 37 sys.exit(app.exec_()) 38
点击窗口的 关闭 按钮,弹出messageBox
注:第28行解释:QMessageBox.question(self, 'Message', 'Are you want to quit?', QMessageBox.Yes | QMessageBox.No,QMessageBox.Yes)
显示一个消息框,两个按钮:“Yes”和“No”。第一个字符串出现在titlebar。第二个字符串消息对话框中显示的文本。第三个参数指定按钮的组合出现在对话框中。最后一个参数是默认按钮,这个是默认的按钮焦点。