PyQt5之QMessageBox弹出式对话框

PyQt5之QMessageBox弹出式对话框

QMessageBox是一种通用的弹出式对话框,用于显示消息,允许用户通过单击不同的标准按钮对消息进行反馈。每个标准按钮都有一个预定义的文本、角色和十六进制数。QMessageBox类提供了许多常用的弹出式对话框,如提示、警告、错误、询问、关于等对话框。

一、QMessageBox类中的常用方法

方法 描述
information(QWidget 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 忽略操作

三、QMessageBox的使用

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *

class Win(QWidget):
    def __init__(self):
        super().__init__()
        self.setGeometry(200, 200, 400, 400)
        self.setWindowTitle('QMessageBox的使用')

        self.btn1 = QPushButton(self)
        self.btn1.setText('弹出消息对话框')
        self.btn1.clicked.connect(self.show1)

        self.btn2 = QPushButton(self)
        self.btn2.setText('弹出提问对话框')
        self.btn2.clicked.connect(self.show2)

        self.btn3 = QPushButton(self)
        self.btn3.setText('弹出警告对话框')
        self.btn3.clicked.connect(self.show3)

        self.btn4 = QPushButton(self)
        self.btn4.setText('弹出严重错误对话框')
        self.btn4.clicked.connect(self.show4)

        self.btn5 = QPushButton(self)
        self.btn5.setText('弹出关于对话框')
        self.btn5.clicked.connect(self.show5)

        layout = QVBoxLayout()
        layout.addWidget(self.btn1)
        layout.addWidget(self.btn2)
        layout.addWidget(self.btn3)
        layout.addWidget(self.btn4)
        layout.addWidget(self.btn5)
        self.setLayout(layout)

    def show1(self):
        reply = QMessageBox.information(self,"消息对话框","消息对话框正文",QMessageBox.Yes | QMessageBox.No,QMessageBox.Yes)
        print(reply)
    def show2(self):
        reply = QMessageBox.question(self,"提问对话框","提问对话框正文",QMessageBox.Yes | QMessageBox.No,QMessageBox.Yes)
        print(reply)
    def show3(self):
        reply = QMessageBox.warning(self,"警告对话框","警告对话框正文",QMessageBox.Yes | QMessageBox.No,QMessageBox.Yes)
        print(reply)
    def show4(self):
        reply = QMessageBox.critical(self,"严重错误对话框","严重错误对话框正文",QMessageBox.Yes | QMessageBox.No,QMessageBox.Yes)
        print(reply)
    def show5(self):
        reply = QMessageBox.about(self,"关于对话框","关于对话框正文")
        print(reply)

if __name__ == "__main__":
    app = QApplication(sys.argv)
    form = Win()
    form.show()
    sys.exit(app.exec_())

各对话框如下:
PyQt5之QMessageBox弹出式对话框_第1张图片
PyQt5之QMessageBox弹出式对话框_第2张图片
PyQt5之QMessageBox弹出式对话框_第3张图片
PyQt5之QMessageBox弹出式对话框_第4张图片
PyQt5之QMessageBox弹出式对话框_第5张图片

你可能感兴趣的:(Python,python,pyqt)