首页 > 其他分享 >19.PyQt5【基本组件】消息对话框-QMessageBox

19.PyQt5【基本组件】消息对话框-QMessageBox

时间:2023-01-16 10:56:58浏览次数:49  
标签:__ 对话框 19 self PyQt5 QMessageBox 按钮 组件

一、前言

QMessageBox是一种常用的模态对话框,用于显示一些信息性消息,并可选择要求用户通过单击其上的任何一个标准按钮来做出响应。每个标准按钮都有一个预定义的标题、一个角色并返回一个预定义的十六进制数字。

二、学习目标

1.QMessageBox常用方法

2.QMessageBox常用信号

3.QMessageBox组件的应用

三、知识点

1.【QMessageBox常用方法】

方法 描述
setIcon() 显示与消息严重性相对应的预定义图标,有四种类型:
Question
Information
Warning
Critical
setText() 设置要显示的主要消息的文本
setInformativeText() 显示附加信息
setDetailText() 对话框显示一个详细信息按钮。此文本在单击时出现
setTitle() 显示对话框的自定义标题
setStandardButtons() 要显示的标准按钮列表。每个按钮
QMessageBox.Ok 0x00000400
QMessageBox.Open 0x00002000
QMessageBox.Save 0x00000800
QMessageBox.Cancel 0x00400000
QMessageBox.Close 0x00200000
QMessageBox.Yes 0x00004000
QMessageBox.No 0x00010000
QMessageBox.Abort 0x00040000
QMessageBox.Retry 0x00080000
QMessageBox.Ignore 0x00100000
setDefaultButton() 将按钮设置为默认值。如果按下 Enter,它会发出 clicked 信号
setEscapeButton() 设置按钮在按下退出键时被视为单击

2.【QMessageBox常用信号】

QMessageBox组件一般不需要用到信号。

信号 描述
buttonClicked(button) 当点击按钮时触发信号

3.【QMessageBox组件的应用】

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButton, QMessageBox


class QmyWidget(QWidget):

    def __init__(self, parent=None):
        super().__init__(parent)  # 调用父类的构造函数,创建QWidget窗体
        self.setupUi()

    def setupUi(self):
        """页面初始化"""
        # 设置窗体大小及标题
        self.resize(500, 400)
        self.setWindowTitle("QMessageBox组件示例")
        # 创建布局
        self.layout = QVBoxLayout()
        # 创建两个按钮组件
        self.button = QPushButton("消息对话框测试", self)
        self.button.clicked.connect(self.msg_box_information)  # 为button绑定消息对话框
        # 将组件添加到布局中
        self.layout.addWidget(self.button)
        # 为窗体添加布局
        self.setLayout(self.layout)

    def msg_box_information(self):
        """消息对话框"""
        # QMessageBox组件定义
        messageBox = QMessageBox(QMessageBox.Information, "标题", "这是内容信息", QMessageBox.Ok, self)
        # QMessageBox组件设置
        messageBox.button(QMessageBox.Ok).setText("确定")                    # 为按钮设置文本
        reply = messageBox.exec()                                           # 显示一个模式对话框,有返回值
        if reply == QMessageBox.Ok:
            print("消息对话框选择了确定!")


if __name__ == '__main__':
    app = QApplication(sys.argv)
    myMain = QmyWidget()
    myMain.show()
    sys.exit(app.exec_())
  • 关键代码

            # QMessageBox组件定义
            messageBox = QMessageBox(QMessageBox.Information, "标题", "这是内容信息", QMessageBox.Ok, self)
            # QMessageBox组件设置
            messageBox.button(QMessageBox.Ok).setText("确定")                    # 为按钮设置文本
            reply = messageBox.exec()                                           # 显示一个模式对话框,返回选择的按钮
            if reply == QMessageBox.Ok:
                print("消息对话框选择了确定!")
    

    exec_()显示一个模式对话框;show()显示一个非模式对话框。模式对话框,就是在弹出窗口的时候,整个程序就被锁定了,处于等待状态,直到对话框被关闭;非模式对话框,在调用弹出窗口之后,调用即刻返回,继续下面的操作。

标签:__,对话框,19,self,PyQt5,QMessageBox,按钮,组件
From: https://www.cnblogs.com/ckxingchen/p/17054875.html

相关文章

  • 20.PyQt5【基本组件】输入对话框-QInputDialog
    一、前言这是一个预配置的对话框,带有一个文本字段和两个按钮,确定和取消。用户单击Ok按钮或按Enter后,父窗口收集文本框中的输入。用户输入可以是数字、字符串或列表中......
  • 22.PyQt5【高级组件】列表组件-QListWidget
    一、前言QListWidget用于从列表中添加或删除项目。列表中的每个项目都是一个QListWidgetItem对象。ListWidget可以设置为多选。二、学习目标1.QListWidget常用方法2......
  • 21.PyQt5【基本组件】文件对话框-QFileDialog
    一、前言QFileDialog小部件是一个文件选择器对话框。它使用户能够浏览文件系统并选择要打开或保存的文件。对话框通过静态函数或调用调用exec_()对话框对象上的函数。二......
  • 23.PyQt5【高级组件】表格组件-QTableWidget
    一、前言QTableWidget是常用的显示数据表格的控件,使用QTableWidget时就需要QTableWidgetItem。用来表示表格中的一个单元格,整个表格就是用各个单元格构建起来的。二、学......
  • 25.PyQt5【高级组件】选项卡-QTabWidget
    一、前言如果表单有太多需要同时显示的字段,可以将它们排列在不同的页面中,放置在选项卡式小部件的每个选项卡下。提供了一个标签栏和一个页面区域。显示第一个选项卡下的页......
  • 24.PyQt5【高级组件】树形组件-QTreeWidget
    一、前言QTreeWidget使用类似于QListView类的方式提供一种典型的基于item的树形交互方法类,该类基于QT的“模型/视图”结构,提供了默认的模型来支撑item的显示,这些i......
  • 26.PyQt5【高级组件】工具箱-QToolBox
    一、前言QToolBox控件提供了一个可进行一列选项卡操作方式,在每个选项卡内可包含不同的控件布局。QToolBox将选项卡一个一个地显示,当前项目显示在当前选项卡下方。每个选项......
  • 3.PyQt5【窗口组件】主窗口-QMainWindow
    一、前言QMainWindow类提供一个有菜单条、锚接窗口(例如工具条)和一个状态条的主应用程序窗口。主窗口通常用在提供一个大的中央窗口部件(例如文本编辑或者绘制画布)以及周围......
  • 4.PyQt5【布局组件】水平布局-QHBoxLayout
    一、前言QLayout是Qt中布局管理器的抽象基类,通过对QLayout的继承,实现了功能各异且互补的布局管理器。布局管理器不是界面组件,而是界面组件的定位策略;任意容器类型的组件都......
  • 5.PyQt5【布局组件】垂直布局-QVBoxLayout
    一、前言本节我们介绍布局组件中的垂直布局QVBoxLayout。二、学习目标1.QVBoxLayout垂直布局应用三、知识点1.【QVBoxLayout垂直布局应用】垂直布局将多个控件在垂直......