【Qt 学习笔记】Qt窗口 | 标准对话框 | 消息对话框QMessageBox

2024-06-12 04:12

本文主要是介绍【Qt 学习笔记】Qt窗口 | 标准对话框 | 消息对话框QMessageBox,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


  • 博客主页:Duck Bro 博客主页
  • 系列专栏:Qt 专栏
  • 关注博主,后期持续更新系列文章
  • 如果有错误感谢请大家批评指出,及时修改
  • 感谢大家点赞👍收藏⭐评论✍

Qt窗口 | 标准对话框 | 消息对话框QMessageBox

文章编号:Qt 学习笔记 / 54

文章目录

  • Qt窗口 | 标准对话框 | 消息对话框QMessageBox
    • 一、QMessageBox介绍
      • 1. 简介
      • 2. 静态成员函数
    • 二、QMessageBox的使用
      • 1. 创建QMainWindow窗口
      • 2. 创建按钮触发对话框
      • 3. 编辑消息对话框(QMessageBox生成按钮)
      • 4. 编辑消息对话框(QPushButton创建对话框按钮)
      • 5. 编辑消息对话框(快速创建消息对话框)


一、QMessageBox介绍

1. 简介

在Qt中,可以使用QMessageBox类来创建和显示消息对话框。QMessageBox提供了各种类型的消息对话框,包括信息消息、警告消息、错误消息和询问消息等。

2. 静态成员函数

静态成员函数QMessageBox::information、QMessageBox::warning、QMessageBox::critical和QMessageBox::question分别创建信息、警告、错误和询问消息对话框。
在这里插入图片描述

静态成员函数说明
Question⽤于正常操作过程中的提问
Information⽤于报告正常运⾏信息
Warning⽤于报告⾮关键错误
Critical⽤于报告严重错误

二、QMessageBox的使用

1. 创建QMainWindow窗口

步骤参考文章【Qt 学习笔记】Qt窗口 | Qt窗口介绍 | QMainwindow类及各组件介绍
在文章中详细介绍了如何创建一个QMainWindow窗口

2. 创建按钮触发对话框

创建按钮及生成槽函数
在这里插入图片描述

3. 编辑消息对话框(QMessageBox生成按钮)

编辑槽函数,进行新建消息对话框。

void MainWindow::on_pushButton_clicked()
{//创建消息对话框QMessageBox * messageBox = new QMessageBox(this);//设置对话框标题messageBox->setWindowTitle("消息对话框");//设置对话框中的文本messageBox->setText("消息对话框的文本");//设置对话框的图标messageBox->setIcon(QMessageBox::Warning);//添加对话框内的按钮(按钮有QMessageBox自己生成)messageBox->setStandardButtons(QMessageBox::Ok | QMessageBox::Save);//模态对话框,非模态对话框使用show(),QMessageBox常用于模态//messageBox->show();messageBox->exec();//关闭窗口释放内存messageBox->setAttribute(Qt::WA_DeleteOnClose);
}

Ctrl+左键点击QMessageBox查看StandardButton按钮属性

enum StandardButton {// keep this in sync with QDialogButtonBox::StandardButton and QPlatformDialogHelper::StandardButtonNoButton           = 0x00000000,Ok                 = 0x00000400,Save               = 0x00000800,SaveAll            = 0x00001000,Open               = 0x00002000,Yes                = 0x00004000,YesToAll           = 0x00008000,No                 = 0x00010000,NoToAll            = 0x00020000,Abort              = 0x00040000,Retry              = 0x00080000,Ignore             = 0x00100000,Close              = 0x00200000,Cancel             = 0x00400000,Discard            = 0x00800000,Help               = 0x01000000,Apply              = 0x02000000,Reset              = 0x04000000,RestoreDefaults    = 0x08000000,FirstButton        = Ok,                // internalLastButton         = RestoreDefaults,   // internalYesAll             = YesToAll,          // obsoleteNoAll              = NoToAll,           // obsoleteDefault            = 0x00000100,        // obsoleteEscape             = 0x00000200,        // obsoleteFlagMask           = 0x00000300,        // obsoleteButtonMask         = ~FlagMask          // obsolete};

在这里插入图片描述

4. 编辑消息对话框(QPushButton创建对话框按钮)

void MainWindow::on_pushButton_2_clicked()
{//创建消息对话框QMessageBox * messageBox = new QMessageBox(this);//设置对话框标题messageBox->setWindowTitle("消息对话框");//设置对话框中的文本messageBox->setText("消息对话框的文本");//设置对话框的图标messageBox->setIcon(QMessageBox::Warning);//使用QPushButton的方式创建按钮QPushButton* button = new QPushButton("按钮",messageBox);messageBox->addButton(button,QMessageBox::AcceptRole);//模态对话框,非模态对话框使用show(),QMessageBox常用于模态//messageBox->show();messageBox->exec();//关闭窗口释放内存messageBox->setAttribute(Qt::WA_DeleteOnClose);
}

Ctrl+左键点击QMessageBox查看StandardButton按钮属性

enum ButtonRole {// keep this in sync with QDialogButtonBox::ButtonRole and QPlatformDialogHelper::ButtonRoleInvalidRole = -1,AcceptRole,RejectRole,DestructiveRole,ActionRole,HelpRole,YesRole,NoRole,ResetRole,ApplyRole,NRoles};

在这里插入图片描述

5. 编辑消息对话框(快速创建消息对话框)

//警告
void MainWindow::on_pushButton_clicked()
{//参数1:父窗口的地址 参数2:对话框窗口标题 参数3:对话框内的文本 参数4:添加按钮QMessageBox::warning(this,"对话框标题","对话框文本",QMessageBox::Ok | QMessageBox::Save);
}
//报错
void MainWindow::on_pushButton_2_clicked()
{QMessageBox::critical(this,"对话框标题","对话框文本",QMessageBox::Ok | QMessageBox::Save);
}
//消息
void MainWindow::on_pushButton_3_clicked()
{QMessageBox::information(this,"对话框标题","对话框文本",QMessageBox::Ok | QMessageBox::Save);
}
//问题
void MainWindow::on_pushButton_4_clicked()
{QMessageBox::question(this,"对话框标题","对话框文本",QMessageBox::Ok | QMessageBox::Save);
}

在这里插入图片描述

这篇关于【Qt 学习笔记】Qt窗口 | 标准对话框 | 消息对话框QMessageBox的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

VS配置好Qt环境之后但无法打开ui界面的问题解决

《VS配置好Qt环境之后但无法打开ui界面的问题解决》本文主要介绍了VS配置好Qt环境之后但无法打开ui界面的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目UKeLvb录找到Qt安装目录中designer.UKeLvBexe的路径找到vs中的解决方案资源

C++ RabbitMq消息队列组件详解

《C++RabbitMq消息队列组件详解》:本文主要介绍C++RabbitMq消息队列组件的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. RabbitMq介绍2. 安装RabbitMQ3. 安装 RabbitMQ 的 C++客户端库4. A

go rate 原生标准限速库的使用

《gorate原生标准限速库的使用》本文主要介绍了Go标准库golang.org/x/time/rate实现限流,采用令牌桶算法控制请求速率,提供Allow/Reserve/Wait方法,具有一定... 目录介绍安装API介绍rate.NewLimiter:创建限流器limiter.Allow():请求是否

SpringCloud整合MQ实现消息总线服务方式

《SpringCloud整合MQ实现消息总线服务方式》:本文主要介绍SpringCloud整合MQ实现消息总线服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、背景介绍二、方案实践三、升级版总结一、背景介绍每当修改配置文件内容,如果需要客户端也同步更新,

Qt之QMessageBox的具体使用

《Qt之QMessageBox的具体使用》本文介绍Qt中QMessageBox类的使用,用于弹出提示、警告、错误等模态对话框,具有一定的参考价值,感兴趣的可以了解一下... 目录1.引言2.简单介绍3.常见函数4.按钮类型(QMessage::StandardButton)5.分步骤实现弹窗6.总结1.引言

Qt中Qfile类的使用

《Qt中Qfile类的使用》很多应用程序都具备操作文件的能力,包括对文件进行写入和读取,创建和删除文件,本文主要介绍了Qt中Qfile类的使用,具有一定的参考价值,感兴趣的可以了解一下... 目录1.引言2.QFile文件操作3.演示示例3.1实验一3.2实验二【演示 QFile 读写二进制文件的过程】4.

使用WPF实现窗口抖动动画效果

《使用WPF实现窗口抖动动画效果》在用户界面设计中,适当的动画反馈可以提升用户体验,尤其是在错误提示、操作失败等场景下,窗口抖动作为一种常见且直观的视觉反馈方式,常用于提醒用户注意当前状态,本文将详细... 目录前言实现思路概述核心代码实现1、 获取目标窗口2、初始化基础位置值3、创建抖动动画4、动画完成后

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

一文带你搞懂Redis Stream的6种消息处理模式

《一文带你搞懂RedisStream的6种消息处理模式》Redis5.0版本引入的Stream数据类型,为Redis生态带来了强大而灵活的消息队列功能,本文将为大家详细介绍RedisStream的6... 目录1. 简单消费模式(Simple Consumption)基本概念核心命令实现示例使用场景优缺点2