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方法的使用,前面的使用方法中都可以找到

源码以及相关文件下载:https://download.csdn.net/download/jia666666/10597897

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐