Qt (12)【Qt窗口 —— 消息对话框 QMessageBox 】

news2024/11/16 22:46:07

阅读导航

  • 引言
  • 一、消息对话框简介
  • 二、问题提示消息对话框创建
  • 三、信息提示消息对话框创建
  • 四、警告信息消息对话框创建
  • 五、错误提示消息对话框创建

引言

在上一篇文章中,我们一同探索了Qt框架中窗口与对话框的奥秘,特别是那些由Qt内置提供的、功能丰富且易于使用的对话框类型。这些对话框不仅简化了与用户交互的过程,还极大地提升了应用程序的可用性和用户体验。今天,我们将深入这一话题,聚焦于Qt中一个极其重要且频繁使用的组件——QMessageBox消息对话框。

一、消息对话框简介

消息对话框是应用程序中极为常见的界面元素,它们的主要作用是向用户展示重要信息,并有时强制用户进行必要的选择或操作。在Qt框架中,QMessageBox类专门为此目的而设计,它提供了一系列静态成员函数,允许开发者直接调用这些函数来快速创建并展示具有不同风格(如信息、警告、错误、询问等)的消息对话框。

在这里插入图片描述

消息类型用途
Question用于正常操作过程中的提问
Information用于报告正常运行信息
Warning用于报告非关键错误
Critical用于报告严重错误

二、问题提示消息对话框创建

💻代码

#include "mainwindow.h"  
#include <QMessageBox>  
#include <QPushButton>  
  
MainWindow::MainWindow(QWidget *parent)  
    : QMainWindow(parent)  
{  
    resize(800, 600);  
    QPushButton *btn = new QPushButton("消息对话框", this);  
    QMessageBox *msg = new QMessageBox(this);  
    msg->setWindowTitle("Warning Message"); // 设置消息对话框的标题  
    msg->setText("Error Message!"); // 设置消息对话框的内容  
    msg->setIcon(QMessageBox::Question); // 设置消息对话框类型  
    msg->setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel); // 在消息对话框上设置按钮  
    connect(btn, &QPushButton::clicked, [=]() {  
        msg->show();  
    });  
}

🎯实现效果
在这里插入图片描述
其中可以设置的按钮的类型如下:

在这里插入图片描述

三、信息提示消息对话框创建

💻代码

#include "mainwindow.h"  
#include <QMessageBox>  
#include <QPushButton>  
  
MainWindow::MainWindow(QWidget *parent)  
    : QMainWindow(parent)  
{  
    resize(800, 600);  
    QPushButton *btn = new QPushButton("消息对话框", this);  
    QMessageBox *msg = new QMessageBox(this);  
    msg->setWindowTitle("Warning Message"); // 设置消息对话框的标题  
    msg->setText("Error Message!"); // 设置消息对话框的内容  
    msg->setIcon(QMessageBox::Warning); // 设置消息对话框类型  
    msg->setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel); // 在消息对话框上设置按钮  
    connect(btn, &QPushButton::clicked, [=]() {  
        msg->show();  
    });  
}

🎯实现效果

在这里插入图片描述

四、警告信息消息对话框创建

💻代码

#include "mainwindow.h"  
#include <QMessageBox>  
#include <QPushButton>  
  
MainWindow::MainWindow(QWidget *parent)  
    : QMainWindow(parent)  
{  
    resize(800, 600);  
    QPushButton *btn = new QPushButton("消息对话框", this);  
    QMessageBox *msg = new QMessageBox(this);  
    msg->setWindowTitle("Warning Message"); // 设置消息对话框的标题  
    msg->setText("Error Message!"); // 设置消息对话框的内容  
    msg->setIcon(QMessageBox::Question); // 设置消息对话框类型  
    msg->setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel); // 在消息对话框上设置按钮  
    connect(btn, &QPushButton::clicked, [=]() {  
        msg->show();  
    });  
}

🎯实现效果
在这里插入图片描述

五、错误提示消息对话框创建

💻代码

#include "mainwindow.h"  
#include <QMessageBox>  
#include <QPushButton>  
  
MainWindow::MainWindow(QWidget *parent)  
    : QMainWindow(parent)  
{  
    resize(800, 600);  
    QPushButton *btn = new QPushButton("消息对话框", this);  
    QMessageBox *msg = new QMessageBox(this);  
    msg->setWindowTitle("Warning Message"); // 设置消息对话框的标题  
    msg->setText("Error Message!"); // 设置消息对话框的内容  
    msg->setIcon(QMessageBox::Critical); // 设置消息对话框类型  
    msg->setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel); // 在消息对话框上设置按钮  
    connect(btn, &QPushButton::clicked, [=]() {  
        msg->show();  
    });  
}

🎯实现效果
在这里插入图片描述

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

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

相关文章

公安的实名认证如何对接?

实名认证已成为许多在线服务和应用的必要环节。本文将为您详细介绍如何对接公安的实名认证系统,包括主要合作方、对接流程以及技术细节。 1. 中盾安信简介 北京中盾安信科技发展有限公司(简称"中盾安信")是公安部第一研究所的全资子公司。作为国家"互联网"…

这 3 个开源项目 牛逼的飞起

分享几个 git 上好玩的应用&#xff0c;对独立开发程序感兴趣的小伙伴欢迎关注后期圈&#xff5e; 点个赞呗 01个性化桌面状态栏的神器 开源地址&#xff08;自行添加网址&#xff09;&#xff1a;/polybar/polybar 一个让无数开发者和桌面美化爱好者爱不释手的开源项&#x…

VBA学习(67):Excel VBA 提取数字/自定义工作表函数/正则表达式/批量提取电话号码

正则表达式&#xff08;Regular Expression&#xff09;&#xff0c;又称为“正则式”、“规则表达式”、“常规表示法”&#xff0c;是一种用来匹配、查找、替换字符串的工具。它通过一定的符号、元字符和操作符的组合来表达一个特定的模式&#xff0c;从而匹配符合该模式的字…

opencv实战项目十八:Gabor滤波器提取布料纹理

文章目录 前言一、Gabor简介二、cv2.getGaborKernel&#xff08;&#xff09;三&#xff0c;效果&#xff1a; 前言 在计算机视觉和图像处理领域&#xff0c;纹理分析一直是一个热门且富有挑战性的话题。纹理&#xff0c;作为图像中的一种重要视觉特征&#xff0c;不仅承载着丰…

关于BitConverter.GetBytes取得的值是反的问题

通过百度查询450000转16进制&#xff0c;我们得到的值是6DDD0&#xff0c; 在前面补零之后的值应该是0006DDD0。如下图所示。 实际上我们用BitConverter.GetBytes 方法转换450000为byte[] 的时候, 转换后的值用16进制显示为D0DD0600(因为我这里是一个通讯协议的数据传输前转换&…

回归预测 | Matlab实现GWO-BP-Adaboost灰狼算法优化BP神经网络集成学习多输入单输出回归预测

回归预测 | Matlab实现GWO-BP-Adaboost灰狼算法优化BP神经网络集成学习多输入单输出回归预测 目录 回归预测 | Matlab实现GWO-BP-Adaboost灰狼算法优化BP神经网络集成学习多输入单输出回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 Matlab实现GWO-BP-Adaboost灰…

GMS——利用 ChatGPT 和扩散模型进行制造业革命

概述 论文地址&#xff1a;https://arxiv.org/abs/2405.00958 研究介绍了生成式制造系统&#xff08;GMS&#xff09;&#xff0c;并表明这些系统能有效管理和协调自主制造资产&#xff0c;提高它们对不同生产目标和人类偏好的响应能力和灵活性。 与传统的显式建模不同&#…

嵌入式Linux学习笔记-Linux基础操作

一、Linux 目录结构 二、文件基础操作 Linux 命令一般由三部分组成&#xff0c;命令 选项 参数。 1、pwd&#xff1a;列出当前所在路径 pwd //列出当前所在目录 2、cd&#xff1a;切换路径 cd /home/boot //切换路径为/home/boot cd .. //返回上一级目录…

鸿蒙(API 12 Beta3版)【自定义界面扫码】

基本概念 自定义界面扫码能力提供了相机流控制接口&#xff0c;可根据自身需求自定义扫码界面&#xff0c;适用于对扫码界面有定制化需求的应用开发。 说明 通过自定义页面扫码可以实现应用内的扫码功能&#xff0c;为了应用更好的体验&#xff0c;推荐同时[接入“扫码直达”…

海信电视与《黑神话 :悟空》合作,大屏端流畅游戏体验如何保障?

上线即巅峰 国产3A游戏引发热潮 近期&#xff0c;首款国产3A游戏《黑神话&#xff1a;悟空》自上线以来&#xff0c;便迅速在各大游戏平台占据热销榜首&#xff0c;其销量及在线人数均刷新历史记录。同时&#xff0c;该游戏在各大社交媒体中也拥有超高讨论度&#xff0c;其精湛…

在Ubuntu24.04上安装多主多从的高可用Kubernetes节点

前言 因为镜像拉取失败&#xff0c;所以好多小伙伴说calico网络插件安装失败。之前写过CentOS7上安装多主节点的Kubernets集群&#xff0c;而CentOS7又停止维护了。所以借着在Ubuntu上安装多主的Kubernetes集群的机会&#xff0c;使用国内镜像安装calico网络插件。 视频教程地…

Git实现代码托管

在电脑端下载git:Git - 安装 Git (git-scm.com) 点击继续下载&#xff1a;一直next即可 下载完毕 winR:cmd 输入&#xff1a;git 不报错即可 登录 gitee账号&#xff0c;根据教程完成内容即可创建成功 &#xff01;&#xff01;一定要先登录邮箱账号…

深度学习环境安装与验证指南

目录 1. 项目背景 2. 系统与软件版本 2.1 操作系统与硬件 2.2 软件版本 2.3对应版本 3. 环境配置步骤 3.1 安装 Anaconda 3.2 创建虚拟环境 3.3 安装 CUDA 和 cuDNN 3.3.1 安装 CUDA 11.8 3.3.2 安装 cuDNN 8.6 3.3.3 验证 CUDA 和 cuDNN 安装 3.4 安装 TensorFlo…

国产网卡品牌崛起,做好网络信息安全的“守门人”

在信息技术日新月异的时代背景下&#xff0c;信息安全不仅关乎个人隐私保护&#xff0c;更是国家安全与经济发展的基石。LR-LINK联瑞凭借其前瞻性的视野和深厚的研发实力&#xff0c;成功自主研发出全国产化的FPGA&#xff08;现场可编程门阵列&#xff09;网闸隔离卡方案&…

企业园区智慧升级:电子墨水屏标签打造环保高科技工作空间

“双碳”目标和“数字中国”建设推动企业绿色转型。企业园区作为城市数字化的重要组成部分&#xff0c;传统纸质显示方式已不适应数字化转型的需求。墨水屏技术凭借低功耗和信息便捷更新的优势&#xff0c;成为园区数智显示的新方案&#xff0c;助力绿色数字化转型&#xff0c;…

网络科学导论,网络同步与控制

&#x1f3c6;本文收录于《CSDN问答解惑-专业版》专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收…

swf怎么转换成mp4格式?视频格式转换,就看这2个办法

许多用户在处理多媒体文件时经常遇到的问题swf文件的转换问题。swf文件作为Flash动画的标准格式&#xff0c;曾经在网页设计和互动媒体中占据重要地位。然而&#xff0c;随着技术的发展和Flash的逐渐淘汰&#xff0c;越来越多的用户需要将swf文件转换为更通用的视频格式&#x…

视频中间件:与海康ISC平台级联

视频中间件是一款对各种视频流的接入处理并能通过标准H5接口输出的安防视频管理软件。其设备兼容性、并发性能、接口输出等方面表现突出&#xff0c;方便了行业跨平台、跨系统的第三方系统和应用对接。在很多的应用场景中&#xff0c;不仅仅是提供标准H5接口与其业务系统的互联…

详细解说数据库课程设计mysql

数据库课程设计中&#xff0c;MySQL是一个非常重要的工具&#xff0c;它是一种关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;广泛应用于各种规模的项目中。下面&#xff0c;我将详细解说在数据库课程设计中如何使用MySQL进行设计。 1. 理解数据库设计的基本…

STM32f103(固件库)

1.工程创建 新建STM32工程 步骤一&#xff1a;创建工程模板文件1.新建一个文件夹 template 2.在文件夹template里面新建六个文件&#xff08;1&#xff09;CMSIS&#xff1a; 存放内核驱动程序和启动引导文件&#xff08;2&#xff09;FWLIB&#xff1a;存放库函数文件&#…