我会为您提供关于PyQt5 QMessageBox
使用的详细攻略。
一、PyQt5 QMessageBox
简介
QMessageBox
是一个常见的Qt GUI部件,它用于显示消息、询问、警告等对话框。在Python的PyQt5库中,QMessageBox
对话框类是QMessageBox
。
PyQt5 QMessageBox
的常用方法有以下几种:
-
QMessageBox.about(parent, title, text)
:显示一个关于信息的对话框。 -
QMessageBox.critical(parent, title, text)
:显示一个严重错误信息的对话框。 -
QMessageBox.information(parent, title, text)
:显示一个普通信息的对话框。 -
QMessageBox.question(parent, title, text, flags)
:显示一个询问对话框。 -
QMessageBox.warning(parent, title, text)
:显示一个警告信息的对话框。
其中,parent
参数是可选的,表示对话框的父级窗口,title
参数是对话框的标题,text
参数是对话框的显示内容,flags
表示询问对话框中的按钮。
二、 PyQt5 QMessageBox
的使用实例
实例1:关于对话框
下面是一个简单的例子,它显示一个关于对话框:
import sys
from PyQt5.QtWidgets import QApplication, QMessageBox, QWidget
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(300, 300, 250, 150)
self.setWindowTitle('Message box')
self.show()
def closeEvent(self, event):
reply = QMessageBox.question(self, 'Message',
"Are you sure to quit?", QMessageBox.Yes |
QMessageBox.No, QMessageBox.No)
if reply == QMessageBox.Yes:
event.accept()
else:
event.ignore()
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
这个程序中,我们定义了一个Example
类,它继承自QWidget
,并重写了closeEvent
方法。
当点击关闭窗口时,会弹出一个询问对话框,询问是否退出程序。如果用户点了Yes按钮,则程序退出,否则忽略该事件继续执行。
实例2:错误信息对话框
下面是一个简单的例子,它显示一个错误信息对话框:
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QMessageBox
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(300, 300, 250, 150)
self.setWindowTitle('Message box')
self.show()
def mousePressEvent(self, event):
QMessageBox.critical(self, 'Error',
'Something went wrong.', QMessageBox.Ok)
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
这个程序中,我们定义了一个Example
类,它继承自QWidget
,并重写了mousePressEvent
方法。
当鼠标按下时,会弹出一个错误信息对话框,显示错误消息。用户可以通过点击“Ok”按钮关闭该对话框。
三、 总结
通过以上两个实例,我们可以看到PyQt5 QMessageBox
是一个非常方便实用的Qt GUI部件,可以用于显示各种类型的对话框。在使用时,可以根据需求选择相应的函数进行调用。