PyQT5 QMessageBox对话框设置

PyQT5 QMessageBox对话框设置

1 介绍

  QMessageBox是一种通用的弹出式对话框,用于显示消息,允许用户通过单击不同的标准按钮对消息进行反馈。提供了许多常用的弹出式对话框,如提示、警告、错误、询问、关于等对话框。这些不同类型的QMessageBox对话框只是显示时的图标不同,其他功能是一样的。
  QMessageBox类中的常用方法如下:

方法描述
QMessageBox.information消息对话框
QMessageBox.warning弹出问答对话框
QMessageBox.question弹出警告对话框
QMessageBox.critical弹出严重错误对话框
QMessageBox.about弹出关于对话框

  QMessageBox的标准按钮类型如下:

类型描述
QMesage.Ok同意操作
QMessage.Cancel取消操作
QMessge.Yes同意操作
QMessage.No取消操作
QMessage.Abort终止操作
QMessage Retry重试操作
QMessge.Ignore忽略操作

2 演示

在这里插入图片描述

3 代码

# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file '5.ui'
# Created by: PyQt5 UI code generator 5.15.4
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.

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

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(582, 365)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(160, 90, 75, 23))
        self.pushButton.setObjectName("pushButton")
        self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_2.setGeometry(QtCore.QRect(400, 90, 75, 23))
        self.pushButton_2.setObjectName("pushButton_2")
        self.pushButton_3 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_3.setGeometry(QtCore.QRect(280, 90, 75, 23))
        self.pushButton_3.setObjectName("pushButton_3")
        self.pushButton_4 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_4.setGeometry(QtCore.QRect(160, 150, 75, 23))
        self.pushButton_4.setObjectName("pushButton_4")
        self.pushButton_5 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_5.setGeometry(QtCore.QRect(280, 150, 75, 23))
        self.pushButton_5.setObjectName("pushButton_5")
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 582, 23))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

        # 链接槽函数
        self.pushButton.clicked.connect(self.information) # 查找函数,并在lineEdit中显示
        self.pushButton_2.clicked.connect(self.warning) #加载到二维网格
        self.pushButton_3.clicked.connect(self.question)  # 设置运行
        self.pushButton_4.clicked.connect(self.critical)  # 设置暂停、恢复
        self.pushButton_5.clicked.connect(self.about)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.pushButton.setText(_translate("MainWindow", "information"))
        self.pushButton_2.setText(_translate("MainWindow", "warning"))
        self.pushButton_3.setText(_translate("MainWindow", "question"))
        self.pushButton_4.setText(_translate("MainWindow", "critical"))
        self.pushButton_5.setText(_translate("MainWindow", "about"))

    def information(self):
        MyWindow().information()

    def warning(self):
        MyWindow().warning()

    def question(self):
        MyWindow().question()

    def critical(self):
        MyWindow().critical()

    def about(self):
        MyWindow().about()


class MyWindow(QWidget):
    def __init__(self):
        super().__init__()

    def information(self):
        QMessageBox.information(None, "提示","button information!",QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes)

    def warning(self):
        QMessageBox.warning(None, "提示","button warning",QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes)

    def question(self):
        QMessageBox.question(None, "标题", "button question!",QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes)

    def critical(self):
        QMessageBox.critical(None, "标题", "button critical!",QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes)

    def about(self):
        QMessageBox.about(None, "标题", "button about!")

if __name__ == '__main__':
    app = QApplication(sys.argv)
    MainWindow = QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

  注意:因为是在Ui_MainWindow()类中调用MyWindow()中的方法,所以在QMessageBox.information(None, )中的第一个参数需要为None,不能为self。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

自动驾驶探索站

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值