QMessageBox(十三)

QMessageBox

前言:

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

QMessageBox类中常用方法

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

5中常用的消息对话框及其显示效果

对话框类型 显示效果
消息对话框,用来告诉用户关于提示信息QMessageBox.information(self,'标题','消息对话框正文',QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes) 这里写图片描述
提问对话框,用来告诉用户关于提问消息QMessageBox.question(self,'标题','提问框消息正文',QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes) 这里写图片描述
警告对话框,用来告诉用户关于不寻常的错误消息QMessageBox.warning(self,'标题','警告框消息正文',QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes) 这里写图片描述
严重错误对话框,用来告诉用户关于严重的错误消息QMessageBox.critical(self,'标题','严重错误对话框消息正文',QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes) 这里写图片描述
关于对话框QMessageBox.about(self,'标题','关于对话框' 这里写图片描述

实例:QMessageBox的使用

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

class MyWindow(QWidget):
    def __init__(self,parent=None):
        super(MyWindow, self).__init__(parent)

        self.setWindowTitle('QMessageBox例子')
        self.resize(300,100)

        self.mybutton=QPushButton(self)
        self.mybutton.move(5,5)
        self.mybutton.setText('点击消息弹出消息框')
        self.mybutton.clicked.connect(self.msg)
    def msg(self):
        #弹出消息对话框
        reply = QMessageBox.information(self, '标题','消息对话框正文',QMessageBox.Yes | QMessageBox.No,QMessageBox.Yes)
        reply1 = QMessageBox.question(self, "标题", "提问框消息正文", QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes)
        reply2 = QMessageBox.warning(self, "标题", "警告框消息正文", QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes)
        reply3 = QMessageBox.critical(self, "标题", "严重错误对话框消息正文", QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes)
        reply4 = QMessageBox.about(self, "标题", "关于对话框消息正文")


if __name__ == '__main__':
    app=QApplication(sys.argv)
    myshow=MyWindow()
    myshow.show()
    sys.exit(app.exec_())

运行程序,显示结果如图
这里写图片描述
QMessageBox方法的使用,前面的使用方法中都可以找到

猜你喜欢

转载自blog.csdn.net/jia666666/article/details/81540785