Qt QMessageBox使用详解

2023-05-16

本文详细的介绍了QMessageBox控件的各种操作,例如:消息提示框的使用、判断消息提示框的按钮、标准图标和自定义图标、定时关闭、自定义样式等操作。

本文作者原创,转载请附上文章出处与本文链接。

Qt QMessageBox使用详解目录

1. 标准信息提示框

2. 判断提示框按钮

3. 提示框自带图标

4. 定时关闭提示框

5. QMessageBox自定义样式


1. 标准信息提示框

    information:标准信息提示框

    QMessageBox::warning(this,"Title","Error Message");
    QMessageBox::information(NULL,  "Title",  "Content", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
    //QMessageBox ::Yes, QMessageBox :: No, QMessageBox :: Retry , QMessageBox :: Ignore , QMessageBox :: Ok , QMessageBox :: Cancel    //可选

information原型:StandardButton QMessageBox::information(QWidget * parent, const QString & title, const QString & text, StandardButtons buttons = Ok, StandardButton defaultButton = NoButton) [static]
  • 第一个参数是父控件指针
  • 第二个参数是标题
  • 第三个参数是内容
  • 第四个参数是窗口里面要多少个按钮(默认为OK)
  • 第五个参数指定按下Enter时使用的按钮。(默认为NoButton,此时QMessageBox会自动选择合适的默认值。)

2. 判断提示框按钮

    switch(QMessageBox::information(this,"Warning",tr("Save changes to document?"),
        QMessageBox::Save|QMessageBox::Discard|QMessageBox::Cancel,QMessageBox::Save))
    {
    case QMessageBox::Save:
        qDebug() << " Warning button / Save " << endl;;
        break;
    case QMessageBox::Discard:
        qDebug() << " Warning button / Discard " << endl;;
        break;
    case QMessageBox::Cancel:
        qDebug() << " Warning button / Cancel " << endl;;
        break;
    default:
        break;
    }

3. 提示框自带图标

    //ico弹窗
    QMessageBox::critical(this,"Critical",tr("tell user a critical error"));              //错误
    //QMessageBox::warning 警告 QMessageBox::critical 错误 QMessageBox::Information 叹号 QMessageBox::Question 问号
    //自定义ico
    QMessageBox customMsgBox;
    customMsgBox.setWindowTitle("Custom message box");
    QPushButton *lockButton = customMsgBox.addButton(tr("Lock"),QMessageBox::ActionRole);
    QPushButton *unlockButton = customMsgBox.addButton(tr("Unlock"),QMessageBox::ActionRole);
    QPushButton *cancelButton = customMsgBox.addButton(QMessageBox::Cancel);
    customMsgBox.setIconPixmap(QPixmap("D:/ico.ico"));//可以设置png图形
    customMsgBox.setText(tr("This is a custom message box"));
    customMsgBox.exec();

    if(customMsgBox.clickedButton() == lockButton)
        qDebug() << " Custom MessageBox / Lock ";
    if(customMsgBox.clickedButton() == unlockButton)
        qDebug() << " Custom MessageBox / Unlock ";
    if(customMsgBox.clickedButton() == cancelButton)
        qDebug() << " Custom MessageBox / Cancel ";

4. 定时关闭提示框

    QMessageBox *box = new QMessageBox(QMessageBox::Information,"Title","Content");
    QTimer::singleShot(1500,box,SLOT(accept())); //也可将accept改为close
    box->exec();//box->show();都可以

5. QMessageBox自定义样式

    自定义消息提示框一般有两种常用的方法:

    方法一 :出自 一去、二三里 Qt 之自定义界面(QMessageBox)_一去丶二三里的博客-CSDN博客_qt自定义qmessagebox

    方法二:自定义MessageBox样式_深夜程序员的博客-CSDN博客_自定义messagebox

    QT官方API:https://doc.qt.io/qt-5/qmessagebox.html

 其它文章 :

QT TextEdit控件_双子座断点的博客-CSDN博客_qt textedit

QT QComboBox使用详解_双子座断点的博客-CSDN博客

QT QtableView操作详解_双子座断点的博客-CSDN博客_qtableview增删改查

Qt QStandardItemModel(1.超级详细用法)_双子座断点的博客-CSDN博客_qstandardmodel

Qt QStandardItemModel(2.超级详细函数)_双子座断点的博客-CSDN博客_qstandarditemmodel点击事件

QT QRadioButton使用详解_双子座断点的博客-CSDN博客_qt radiobutton

QT QLineEdit使用详解_双子座断点的博客-CSDN博客_qt qlineedit

Qt QMessageBox使用详解_双子座断点的博客-CSDN博客_qt message

QChart折线图、饼状图、条形图、曲线图_双子座断点的博客-CSDN博客_qchart样式

QChart属性详解_双子座断点的博客-CSDN博客_setanimationoptions

QCharts QValueAxis使用_双子座断点的博客-CSDN博客_qvalueaxis

Qt 5 等待提示框(开源 动态图)_双子座断点的博客-CSDN博客_qt 等待对话框

QtDataVisualization 数据3D可视化_双子座断点的博客-CSDN博客_qtdatavisualization

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Qt QMessageBox使用详解 的相关文章

  • crontab使用详解

    名称 crontab 使用权限 所有使用者 使用方式 crontab u user file crontab u user l r e 说明 crontab 是用来让使用者在固定时间或固定间隔执行程序之用 xff0c 换句话说 xff0c
  • Android进度条ProgressBar使用详解

    先介绍一下ProgressBar几种比较常用的属性 布局中设置 xff1a android max 61 34 100 34 最大显示进度 android progress 61 34 50 34 第一显示进度 android second
  • Android中ScrollView使用详解

    滚动视图 xff08 ScrollView xff09 是指当拥有很多内容 xff0c 屏幕显示不完时 xff0c 需要通过滚动来显示完整的视图 包括水平滚动视图 xff08 HorizontalScrollView xff09 和垂直滚动
  • tmux 使用详解

    什么是 tmux tmux 是一个终端复用工具 xff0c 它允许用户在一个终端窗口中创建多个会话 xff0c 并在这些会话之间切换 这使得用户可以在同一终端窗口中同时运行多个命令 xff0c 而不必打开多个终端窗口 安装 tmux 在 L
  • Mybatis中注解@MapKey的使用详解

    MyBatis查询一些记录 xff0c 数据涉及到两个表里的数据 xff0c 需要连表查询 xff0c 但我MyBatis的返回结果不想创建新的DO对象 xff0c 因此使用 64 MapKey注解返回一个Map集合 含义 xff1a 64
  • ButterKnife与BindView使用详解

    ButterKnife与BindView使用详解 ButterKnife的优势 具有强大的view绑定和click事件处理能力 方便处理Adapter里的viewHolder绑定问题 运行时不会影响app效率 xff0c 配置方便 代码清晰
  • iOS之UITableViewController使用详解(一)tableview上移

    tableview上移解决 xff1a self edgesForExtendedLayout 61 UIRectEdgeNone if 64 available iOS 11 0 UIScrollView appearance setCo
  • SQLiteOpenHelper使用详解

    SQLiteOpenHelper 的子类 xff0c 至少需要实现三个方法 xff1a 1 构造函数 调用父类 SQLiteOpenHelper 的构造函数 这个方法需要四个参数 xff1a 上下文环境 xff08 例如 xff0c 一个
  • SpringAOP的使用详解

    1 AOP切入点表达式 支持切点标识符 Spring AOP支持使用以下AspectJ切点标识符 PCD 用于切点表达式 xff1a execution 用于匹配方法执行连接点 这是使用Spring AOP时使用的主要切点标识符 可以匹配到
  • java枚举(enum)使用详解

    文章目录 前言一 枚举类型定义二 访问成员三 遍历四 在switch xff08 xff09 中使用枚举五 方法1 内置方法1 1 ordinal 用于返回成员的索引1 2 compareTo 用于比较枚举类型中两个成员的索引值1 3 va
  • Qt中QMessageBox中的几种常见用法归纳

    Qt中QMessageBox中的几种常见用法归纳 最简单的弹出一个提示框 QMessageBox question this 34 Title 34 34 Content 34 QMessageBox warning this 34 Tit
  • java enum(枚举)使用详解 + 总结

    enum 的全称为 enumeration xff0c 是 JDK 1 5 中引入的新特性 xff0c 存放在 java lang 包中 下面是我在使用 enum 过程中的一些经验和总结 xff0c 主要包括如下内容 xff1a 1 原始的
  • nmap使用详解

    nmap介绍 nmap xff08 Network Mapper xff09 是一款开源免费的针对大型网络的端口扫描工具 xff0c nmap可以检测目标主机是否在线 主机端口开放情况 检测主机运行的服务类型及版本信息 检测操作系统与设备类
  • Qt QMessageBox使用详解

    本文详细的介绍了QMessageBox控件的各种操作 xff0c 例如 xff1a 消息提示框的使用 判断消息提示框的按钮 标准图标和自定义图标 定时关闭 自定义样式等操作 本文作者原创 xff0c 转载请附上文章出处与本文链接 Qt QM
  • 二十八. Semaphore的使用详解

    前言 Semaphore的官方注释如下 计数信号量 从概念上讲 xff0c 信号量维护一组许可证 xff08 permits xff09 通常 xff0c 每次调用Semaphore acquire方法时如果已经没有许可证 xff0c 则会
  • SwipeRefreshLayout的使用详解

    一 xff0c 概述 SwipeRefreshLayout意思为下拉刷新的布局 xff0c 其继承ViewGroup xff0c Google在android5 0中提供的下拉刷新控件 xff0c 且提供了v4支持包 这是一个容器布局 xf
  • mysql-mysqlbinlog的使用详解

    一 背景 二进制日志在MySQL数据库中有着至关重要的作用 xff0c 而读取二进制日志的工具就显得同样重要了 xff0c 官方的mysqlbinlog就是读取二进制日志的工具 xff0c 这里就结合官网和自己的实践整理一下 xff08 P
  • 带倒计时器的 QMessageBox

    我想知道向倒计时器添加倒计时器的最佳方法是什么QMessageBox 例如 当显示消息框时 倒计时器会启动 例如 5 秒 如果用户没有响应消息框 消息框将选择默认选项 像这样的事情怎么样 include
  • 我如何在另一个线程Qt中显示MessageBox

    这是我的代码 int main int argc char argv QApplication a argc argv testApp w w show TestClass test new TestClass QObject connec
  • 一个阻塞但非模态的 QDialog?

    我有一堆图像 我想对其执行一些操作 处理完每个图像后 我的程序应该弹出一个对话框 提示用户是否要继续处理下一个图像或中止 在此之前 他们应该有机会对图像或参数进行一些手动更改 无论如何 他们必须能够访问应用程序的窗口 而调用对话框的方法的执

随机推荐

  • halcon学习笔记(12)——相机实践标定及二维码

    最近某宝上买了一个工业相机和镜头 xff0c 简单的做了一下实验 xff1b 1 xff09 相机是需要驱动的按照商家的操作安装好驱动 xff0c 这样电脑才能识别到 xff1b 2 xff09 打开halcon的 助手 Image Acq
  • docker搭建私有Git代码仓库

    一 在dockerhub镜像仓库搜索gogs gogs镜像 二 使用docker拉取gogs gogs镜像 docker pull gogs gogs latest 三 查看镜像 docker image ls 四 启动容器 docker
  • 毕业设计-基于深度学习的数据融合方法研究

    目录 前言 课题背景和意义 实现技术思路 一 深度学习概述 二 基于深度学习的数据融合方法分类 1 基于深度学习特征提取的数据融合方法 2 基于深度学习融合的数据融合方法 3 基于深度学习全过程的数据融合方法 实现效果图样例 最后 前言 x
  • ROS与OpenCV版本冲突问题

    在安装小觅相机的时候因为ROS与opencv版本不兼容的原因导致各种莫名其妙的错误 安装方式 按照相机技术手册 xff0c SDK在linux下共有三种安装方式 xff0c ppa安装 xff0c 源码编译安装 xff0c ROS安装 注意
  • ucos源码阅读3——信号量,互斥信号量(未完待续)

    ucos源码阅读3 信号量 xff0c 互斥信号量 事件控制块ECBInitEventList xff08 xff09 EventWaitListInit xff08 xff09 EventTaskRdy xff08 xff09 Event
  • Linux 自启动.sh脚本使用sudo自动输入密码

    1 root下 xff0c vi etc sudoers root 64 guanz etc vi etc sudoers root 64 guanz etc 添加如下内容 guanz ALL 61 ALL ALL 示例 Allow roo
  • Android系统和linux内核的关系详解

    Android系统和linux内核的关系详解 大家都知道Android是基于Linux内核的操作系统 xff0c 也曾经和Linux基金会因为内核问题产生过分歧 可以参考本文 后面的 参考阅读 这里主要对android和linux的关系进行
  • 详解词袋模型

    个人博客 xff1a http www chenjianqu com 原文链接 xff1a http www chenjianqu com show 101 html 本文是 lt 视觉SLAM14讲 gt 的学习笔记 xff0c 今天学习
  • 如何判断树莓派通过GPIO与5G模块成功连接?

    如果想要判断自己是否成功连接了树莓派与5G模块 xff0c 可以通过以下方式进行判断 xff1a 查看设备连接状态 xff1a 可以通过在树莓派终端中执行lsusb命令来查看USB设备的连接状态 xff0c 如果5G模块被识别到 xff0c
  • Windows桌面应用程序(1-3rd) 64位Windows编程指南

    微软已经发布了64位版本的Windows操作系统 64位Windows在设计时考虑了兼容性 开发人员可以确保其现有的32位应用程序在64位Windows下运行良好 xff0c 或通过迁移其应用程序来利用64位Windows的优势 64位Wi
  • gazebo打不开world的通用解决方法

    打开gazebo的时候会发现一直处于这种状态 xff0c 这是因为model库加载不正确导致的 解决方法 xff1a 通过直接下载所有模型到用户的根目录下的 gazebo models 下 cd gazebo mkdir p models
  • ubuntu环境下使用mitmproxy代理服务器

    在网上看了很多参考 xff0c 介绍的很多都是废话 xff0c 很多答案都是一样的 我最近是在用selenium工具来爬取猫眼的电影数据 xff0c 因为猫眼有文字加密和美团验证 xff0c 一般的爬取可能容易被检测 所以我使用seleni
  • ubuntu c\c++环境中第三方依赖包的使用

    第三方依赖包的使用需要导入第三方依赖包中的include和lib文件 下面例子中以ffmpeg为例 据我成功尝试之后的有这两种 xff0c 其他的方法肯定还有 xff0c 比如直接导入目前的linux环境中 xff0c 改变量啥的 xff0
  • 解决sudo rosdep init ERROR: cannot download default sources list from问题,亲测可用

    解决sudo rosdep init ERROR cannot download default sources list from问题 xff0c 亲测可用 问题描述 按照 ros installation在ubuntu 16 04上安装
  • realsense d435i SDK及ROS Wrapper安装

    1 安装Realsense SDK git clone https span class token punctuation span span class token operator span github span class tok
  • 解决Git中下载assets文件列表转圈问题

    打开的Git项目 这里我以PcapPlusPlus为例 这里一直转圈打不开 xff0c 使用F12开发者工具 xff0c 用箭头选中这个转圈得到一个网站 通过这个网站可直接打开看见assets里面的全部内容
  • Ubuntu安装CMake

    cmake所做的事其实就是告诉编译器如何去编译链接源代码 你也许想问不是有makefile吗 xff0c 为什么还要它 xff1f 这里就牵涉到跨平台问题 而且其语法也简单 卸载已经安装的旧版的CMake 非必需 apt get autor
  • gPRC基本介绍

    1 说明 gRPC英文全名为Google Remote Procedure Call xff0c 即Google远程过程调用 xff0c 是Google发布的一个高性能 通用的开源RPC框架 xff0c 2 gRPC定义 gRPC是一个现代
  • STM32的引脚模式

    文章目录 51单片机引脚模式STM32单片机的引脚模式上拉输入 GPIO Mode IPU下拉输入 GPIO Mode IPD浮空输入 GPIO Mode IN FLOATING模拟输入 GPIO Mode AIN推挽输出 GPIO Mod
  • Qt QMessageBox使用详解

    本文详细的介绍了QMessageBox控件的各种操作 xff0c 例如 xff1a 消息提示框的使用 判断消息提示框的按钮 标准图标和自定义图标 定时关闭 自定义样式等操作 本文作者原创 xff0c 转载请附上文章出处与本文链接 Qt QM