Qt消息对话框的使用

news2024/11/16 1:51:57

本文介绍Qt消息对话框的使用。

QMessageBox类是Qt编程中常用到的一个类,主要用来进行一些简单的消息提示,比如:问题对话框,信息对话框等,这些对话框都属于QMessageBox类的静态方法,使用起来比较简单,方便。

1."information"对话框

函数原型:

QMessageBox::StandardButton QMessageBox::information(QWidget *parent, const QString &title, const QString &text, QMessageBox::StandardButtons buttons = Ok, QMessageBox::StandardButton defaultButton = NoButton)

其中,

parent:指定父窗口

title:对话框标题

text:显示内容

buttons:显示哪些按钮,可以采用"|"方式进行组合,如同时显示"Yes","No"2个按钮可以采用:"QMessageBox::Yes | QMessageBox::No"进行组合,相见"QMessageBox"描述

defaultButton:默认显示哪个按钮,如默认显示"Yes"按钮,可以采用:"QMessageBox::Yes"

返回值:

QMessageBox::StandardButton

因对话框为模态对话框,执行到这里会阻塞,这里可以通过返回值来进行分支处理,如:

    int ret = QMessageBox::information(this, "information", "information message box test", QMessageBox::Ok | QMessageBox::Cancel, QMessageBox::Ok);
    if (ret == QMessageBox::Ok) {
        qDebug() << "Ok";
    } else {
        qDebug() << "Cancel";
    }

注意:弹出的对话框"X"按钮对应的返回值为"RejectRole"类型的那个按钮功能。

2."question"对话框

函数原型:

QMessageBox::StandardButton QMessageBox::question(QWidget *parent, const QString &title, const QString &text, QMessageBox::StandardButtons buttons = StandardButtons(Yes | No), QMessageBox::StandardButton defaultButton = NoButton)

参数含义和1类似。

3."warning"对话框

函数原型:

QMessageBox::StandardButton QMessageBox::warning(QWidget *parent, const QString &title, const QString &text, QMessageBox::StandardButtons buttons = Ok, QMessageBox::StandardButton defaultButton = NoButton)

参数含义和1类似。

4."critical"对话框

函数原型:

QMessageBox::StandardButton QMessageBox::critical(QWidget *parent, const QString &title, const QString &text, QMessageBox::StandardButtons buttons = Ok, QMessageBox::StandardButton defaultButton = NoButton)

参数含义和1类似。

5."about"对话框

函数原型:

void QMessageBox::about(QWidget *parent, const QString &title, const QString &text)

参数含义和1类似,只是没有按钮。

6."aboutQt"对话框

函数原型:

void QMessageBox::aboutQt(QWidget *parent, const QString &title = QString())

参数含义和1类似,只是没有按钮和标题。

7.自定义消息对话框

以上介绍对话框都是固定的方式呈现的,缺乏灵活性,有时候也可以根据需要自定义消息对话框。如:

    QMessageBox msgBox;
    msgBox.setWindowTitle("message box");
    msgBox.setText(tr("message boxt test"));
    msgBox.setInformativeText(tr("Yes or No?"));
    msgBox.setDetailedText(tr("detail"));
    msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No);
    msgBox.setDefaultButton(QMessageBox::Yes);
    msgBox.setModal(true);
    int ret = msgBox.exec();
    switch (ret) {
        case (QMessageBox::Yes): {
            qDebug() << "Yes";
            break;
        }
        case (QMessageBox::No): {
                qDebug() << "No";
                break;
        }
        default:{break;}
    }

更多的QMessageBox方法可以参见Qt的Help文档,这里就不细说了。

显示效果如图:

总结,本文介绍了Qt消息对话框的使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1113883.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

uniapp开发h5引入第三方js(sdk)

manifest.json 应用配置 | uni-app官网 根据文档上描述需要自定义模板的场景为&#xff1a; 起初以为是在原有的index.html基础上再新建一个html文件&#xff0c;最后发现不是&#xff0c;而是赋值文档里面的hmlt模板基础代码覆盖之前的index.html中的所有代码。 之前uniapp创…

鸿蒙应用开发之组件状态管理

一、概述 在应用中&#xff0c;界面通常都是动态的。如图1所示&#xff0c;在子目标列表中&#xff0c;当用户点击目标一&#xff0c;目标一会呈现展开状态&#xff0c;再次点击目标一&#xff0c;目标一呈现收起状态。界面会根据不同的状态展示不一样的效果。 图片 ArkUI作为…

神经网络画图?PPT就够了

在写项目文档或者论文&#xff0c;甚至是开组会的时候都需要画出模型的图片&#xff0c;但一些高端的画图软件或网站不太会用&#xff0c;而且我们画的模型又没有很复杂&#xff0c;大可不必花太多时间。 但问题是一些免费的画图工具效果不佳&#xff0c;要么图片不好看&#…

完整搭建Git服务器

文章目录 搭建Git服务器第一步&#xff0c;安装git&#xff1a;第二步&#xff0c;创建一个git用户&#xff0c;用来运行git服务第三步&#xff0c;添加SSH公钥第四步&#xff0c;初始化Git仓库&#xff1a;第五步&#xff0c;连接Git服务器 搭建Git服务器 GitHub就是一个免费…

【斗破年番】美杜莎女王怀孕和萧潇被删,官方真敢这么做吗?结局一定会很惨

Hello,小伙伴们&#xff0c;我是小郑继续为大家深度解析斗破苍穹年番国漫资讯。 随着《斗破苍穹》年番即将更新&#xff0c;传出美杜莎女王怀孕和萧潇的剧情将被删减魔改的消息&#xff0c;引发网友激烈讨论。 根据网友透露的消息&#xff0c;美杜莎女王怀孕的设定甚至萧潇都可…

轻资产、降成本、快速上市!ODM/OEM 专题闪耀登场!

轻资产、降成本、快速上市!ODM/OEM 专题闪耀登场 swop2023包装世界(上海)博览会引爆创新潮流 消费者对个性化需求、情感诉求和创新创意的要求不断增长,这对品牌商提出了更高的要求。品牌方不仅需要注重外观设计,还要关注产品实力和品质,同时控制成本,上市速度等,才能在激烈的…

低调而无为而治,藏在超级应用背后的道家哲学

众所周知&#xff0c;Elon Musk 想将 Twitter 重新设计定位成一款“超级应用 - X”的野心已经不再是秘密。伴随着应用商店中 Twitter 标志性的蓝鸟 Logo 被 X 取代后&#xff0c;赛博世界充满了对这件事情各种角度的探讨与分析。 Musk 曾经无数次通过微信这一样本来推广他的“超…

00后都到适婚年龄啦!90后的还在低调什么?

当你的想法还停留在00后读书时代&#xff0c;其实大部分00后早已步入工作社会&#xff0c;还有不少人已经步入婚姻。广东金媒人婚恋&#xff0c;无论是广州、深圳、东莞、佛山举办活动的参与者中&#xff0c;00后的男生女生都占了不少。 广州深圳这样一二线城市的单身年轻人群&…

Note—— OSError np.degress() scipy.signal.argrelextrema

OSError Flask项目 python filename.py 报错 地址已被使用 搜索相关问题后发现是因为&#xff0c;你曾启动过相同或者类似的服务占用了这个端口&#xff08;一般来讲&#xff0c;在Mac上直接用Python启动的话&#xff0c;会导致退出不完整&#xff0c;你不能通过点击GUI的“退…

华为云Stack的学习(十)

十一、华为云Stack容器服务介绍 1.云容器引擎服务CCE 云容器引擎&#xff08;Cloud Container Engine&#xff0c;CCE&#xff09;提供高度可扩展的、高性能的企业级Kubernetes集群&#xff0c;支持运行Docker容器。借助云容器引擎&#xff0c;可以在云上轻松部署、管理和扩展…

SpringFramework之基于配置类管理Bean

1、完全注解开发理解 Spring 完全注解配置&#xff08;Fully Annotation-based Configuration&#xff09;是指通过 Java配置类 代码来配置 Spring 应用程序&#xff0c;使用注解来替代原本在 XML 配置文件中的配置。相对于 XML 配置&#xff0c;完全注解配置具有更强的类型安…

深度剖析Android Binder IPC机制

Android系统的成功离不开其强大的IPC&#xff08;Inter-Process Communication&#xff09;机制&#xff0c;其中最引人注目的就是Binder。本文将深入探讨Binder的技术原理&#xff0c;解释其工作方式以及相关的关键概念。 什么是Binder Binder是Android系统中的IPC机制&…

【递归、搜索与回溯算法】第一节.初识递归、搜索与回溯算法

作者简介&#xff1a;大家好&#xff0c;我是未央&#xff1b; 博客首页&#xff1a;未央.303 系列专栏&#xff1a;递归、搜索与回溯算法 每日一句&#xff1a;人的一生&#xff0c;可以有所作为的时机只有一次&#xff0c;那就是现在&#xff01;&#xff01;&#xff01;&am…

hive一行多列合并为一行一列

SELECT named_struct(name, John, age, 30, city, New York) AS person;

【前端】Layui小功能收集整理

目录 1、layui 鼠标悬浮提示文字 2、关闭当前窗口并刷新父页面 3、子iframe关闭/传值/刷新父页面 1、layui 鼠标悬浮提示文字 鼠标放在图标上悬浮显示提示信息&#xff0c;效果图如下 <div style"float:left; line-height:40px">道试题 <i class"l…

【MySQL进阶之路丨第十篇】一文带你精通MySQL排序、分组、连接

引言 在上一篇中我们介绍了MySQL子句&#xff1b;在开发中&#xff0c;掌握数据的排序、分组、连接等操作和语句是十分重要的。 这一篇我们使用命令行方式来帮助读者掌握MySQL中数据的排序、分组与连接。 上一篇链接&#xff1a;MySQL | 一文带你精通MySQL子句 MySQL排序 MySQ…

ChatGPT在测试计划中的应用策略

简介 测试计划是指描述了要进行的测试活动的范围、方法、资源和进度的文档。它主要包括测试项、被测特性、测试任务和风险控制等。 所以在使用ChatGPT输出结果之前&#xff0c;我们需要先将文档的内容框架梳理好&#xff0c;以及将内容范围划定好&#xff0c;必要的时候&…

学生学徒作品分享——金融大模型-房屋租金价格影响因素分析与预测

金融大模型-房屋租金价格影响因素分析与预测项目背景 广州作为中国最发达的城市之一&#xff0c;每年都吸引大量务工人员前来就业&#xff0c;而租房是他们需要解决的最大问题之一&#xff0c;各地区租房需求日益增长。在租房过程&#xff0c;价格、交通是重要的考虑因素&a…

vue3同时引入多个iconfont图标库

vue3同时引入多个iconfont图标库 本文目录 vue3同时引入多个iconfont图标库下载iconfont库创建项目库图标加入项目库下载到本地 vue3引入文件存放位置main.ts设置组件中使用 分别引入多个iconfont 下载iconfont库 创建项目库 iconfont官网&#xff1a;https://www.iconfont.c…

物联网_01_物理设备的网络接入

设备的网络接入及物理层使用到的传输协议 现在物理设备有两种接入方式,一种是直接接入另一种是网关接入 直接接入 给物理设备添加NB-IOT通信模组等设备使之具有直接接入网络的能力 网关接入 物理设备在本地组网后通过统一的网关接入到网络(ZigBee无线组网网关).网关是处在本地…