当前位置: 首页 > news >正文

Qt消息对话框的使用

本文介绍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.lryc.cn/news/199476.html

相关文章:

  • spring的Ioc、DI以及Bean的理解
  • 倒计时 天时分秒
  • Spring篇---第六篇
  • 【unity小技巧】适用于任何 2d 游戏的钥匙门系统和buff系统——UnityEvent的使用
  • 爬虫ip如何加入到代码里实现自动化数据抓取
  • 在win10上安装配置Hadoop的环境变量
  • MAX插件CG Magic怎么云渲染?操作方法已整起!
  • 尝试使用jmeter-maven-plugin
  • navigator.userAgent.toLowerCase区分设备,浏览器
  • 防火墙操作:开放端口ICMP时间戳请求漏洞修复
  • MySQL配置环境变量和启动登录
  • 救济金发放(The Dole Queue, UVa 133)rust解法
  • oracle实验四
  • 数据结构-堆排序Java实现
  • C#进阶——反射(Reflection)
  • Oracle 运维篇+应用容器数据库的install、upgrade、patch、uninstall
  • Affinity Publisher for Mac/Windows最新中文下载 排版神器
  • Mac文件对比同步工具 Beyond Compare 4.4.7
  • 技巧 | 如何解决 OBS 系统声音无法捕获问题 | Mac
  • 从头开始机器学习:逻辑回归
  • 插入排序 算法
  • “揭秘!如何通过京东商品详情接口轻松获取海量精准商品信息!“
  • 已经有多人中招,不要被AI换脸技术骗了!
  • solidworks 2024新功能之--保存为低版本 硕迪科技
  • MySQL --- 聚合查询 和 联合查询
  • Note——torch.size() umr_maximum() array.max() itertools.product()
  • python学习笔记6-DefaultDict
  • Redis 底层对 String 的 3 个优化
  • 简约艺术签名小程序源码/流量主小程序源码/字节跳动抖音小程序
  • Ubuntu(kylin)挂载iso文件和配置apt本地源