PyQT5 QMessageBox对话框设置

PyQT5 QMessageBox对话框设置

    • 1 介绍
    • 2 演示
    • 3 代码

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 演示

PyQT5 QMessageBox对话框设置_第1张图片

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。

你可能感兴趣的:(python,开发语言,qt5)