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

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

阅读导航

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

引言

在上一篇文章中,我们一同探索了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.kler.cn/a/282672.html

相关文章:

  • AlphaFold3中文使用说明
  • 供应链管理、一件代发系统功能及源码分享 PHP+Mysql
  • 华为云前台展示公网访问需要购买EIP,EIP流量走向
  • Python sys模块介绍
  • Java垃圾回收算法
  • 【Vue】Vue3.0(二十四)Vue3.0中$refs 、$parent 的概念和使用场景
  • 算法练习题03:分解质因数
  • WHAT - 通过 react-use 源码学习 React(Side-effects 篇)
  • 在Ubuntu上使用Visual Studio Code调试C++代码
  • 掌握Nginx负载均衡中的请求缓存处理:策略与实现
  • Geoserver的 rest、wfs、wms、wps接口请求指南
  • Apache Kafka 简介、使用场景及特点
  • CEASC:基于全局上下文增强的自适应稀疏卷积网络在无人机图像上的快速目标检测
  • Numpy 数组及矩阵创建详解
  • 在 PyTorch 中,`permute` 方法是一个强大的工具,用于重排张量的维度。
  • 一文认识大数据的CAP原则和BASE原则
  • sheng的学习笔记-AI-半监督SVM
  • Axure RP下载+详细安装步骤资源百度云盘分享
  • 求助(必关)
  • MS1861 宏晶微 视频显示与控制器芯片 提供开发资料
  • 【JupyterLab】pip安装过程问题记录(未完)
  • PyTorch深度学习实战(26)—— PyTorch与Multi-GPU
  • JSP简述
  • 数据结构-单链表-详解-1
  • 外包干了两年,快要废了。。。
  • react学习之useState和useEffect