PyQt5 QMessageBox

  • Post category:Python

我会为您提供关于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部件,可以用于显示各种类型的对话框。在使用时,可以根据需求选择相应的函数进行调用。