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_())

各对话框如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 7
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值