首页 > 其他分享 >Qt之QMessageBox的用法

Qt之QMessageBox的用法

时间:2023-09-23 17:36:02浏览次数:41  
标签:Ok Qt 对话框 NoButton 用法 StandardButton QMessageBox 按钮

一、QMessageBox::information

QMessageBox::information 用于创建一个信息对话框,通常用于向用户显示一些重要的信息或通知。这个函数的用法很简单,它接受几个参数来配置对话框的内容和行为,并且通常以模态方式显示对话框,阻塞程序的执行,直到用户关闭对话框。

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

参数说明:

  1. parent:指定对话框的父窗口。如果为 nullptr,则对话框没有父窗口。

  2. title:对话框的标题,通常是一个字符串。

  3. text:对话框中要显示的信息文本,通常也是一个字符串。

  4. buttons:指定对话框中显示的标准按钮,它是一个枚举值,可以根据需要选择不同的按钮组合。默认情况下,它是 QMessageBox::Ok,表示只有一个“确定”按钮。你可以使用位掩码将多个按钮组合在一起,例如 QMessageBox::Ok | QMessageBox::Cancel

  5. defaultButton:指定默认选中的按钮,通常是一个标准按钮。默认是 QMessageBox::NoButton,表示没有默认按钮。

QMessageBox::information用法示例:

void MainWindow::on_btn_clicked_info()
{
    QMessageBox::StandardButton button  = QMessageBox::information(nullptr, "information", "是否退出窗口", 
                                              QMessageBox::Yes | QMessageBox::No, QMessageBox::NoButton);
    if (button == QMessageBox::StandardButton::Yes) {
        qDebug() << "QMessageBox::StandardButton::Yes";
    } else if (button == QMessageBox::StandardButton::No) {
        qDebug() << "QMessageBox::StandardButton::No";
    }
}

二、QMessageBox::critical

QMessageBox::critical用于创建一个临界错误对话框,通常用于向用户显示重要的错误信息并要求用户采取适当的行动。这个函数的使用方式与 QMessageBox::information 类似,但它会以不同的图标和按钮组合显示,以强调错误的重要性。

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

参数说明:

  1. parent:指定对话框的父窗口。如果为 nullptr,则对话框没有父窗口。

  2. title:对话框的标题,通常是一个字符串。

  3. text:对话框中要显示的错误信息文本,通常也是一个字符串。

  4. buttons:指定对话框中显示的标准按钮,它是一个枚举值,可以根据需要选择不同的按钮组合。默认情况下,它是 QMessageBox::Ok,表示只有一个“确定”按钮。你可以使用位掩码将多个按钮组合在一起,例如 QMessageBox::Ok | QMessageBox::Cancel

  5. defaultButton:指定默认选中的按钮,通常是一个标准按钮。默认是 QMessageBox::NoButton,表示没有默认按钮。

QMessageBox::critical使用示例:

void MainWindow::on_btn_clicked_critical()
{
    QMessageBox::StandardButton button  = QMessageBox::critical(nullptr, "critical", "文件下载出错,是否重新下载?",
                                              QMessageBox::Yes | QMessageBox::No, QMessageBox::NoButton);
    if (button == QMessageBox::StandardButton::Yes) {
        qDebug() << "QMessageBox::StandardButton::Yes";
    } else if (button == QMessageBox::StandardButton::No) {
        qDebug() << "QMessageBox::StandardButton::No";
    }
}

三、QMessageBox::warning

QMessageBox::warning用于创建一个警告对话框,通常用于向用户显示一些警告或非严重的问题,以便用户采取适当的行动或注意。这个函数的使用方式与 QMessageBox::informationQMessageBox::critical 类似,但它会以不同的图标和按钮组合显示,以强调警告的性质。

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

参数说明:

  1. parent:指定对话框的父窗口。如果为 nullptr,则对话框没有父窗口。

  2. title:对话框的标题,通常是一个字符串。

  3. text:对话框中要显示的警告信息文本,通常也是一个字符串。

  4. buttons:指定对话框中显示的标准按钮,它是一个枚举值,可以根据需要选择不同的按钮组合。默认情况下,它是 QMessageBox::Ok,表示只有一个“确定”按钮。你可以使用位掩码将多个按钮组合在一起,例如 QMessageBox::Ok | QMessageBox::Cancel

  5. defaultButton:指定默认选中的按钮,通常是一个标准按钮。默认是 QMessageBox::NoButton,表示没有默认按钮。

QMessageBox::warning使用示例:

void MainWindow::on_btn_clicked_warn()
{
    QMessageBox::StandardButton button  = QMessageBox::warning(nullptr, "warning", "是否删除文件?",
                                              QMessageBox::Yes | QMessageBox::No, QMessageBox::NoButton);
    if (button == QMessageBox::StandardButton::Yes) {
        qDebug() << "QMessageBox::StandardButton::Yes";
    } else if (button == QMessageBox::StandardButton::No) {
        qDebug() << "QMessageBox::StandardButton::No";
    }
}

 

 

标签:Ok,Qt,对话框,NoButton,用法,StandardButton,QMessageBox,按钮
From: https://www.cnblogs.com/TechNomad/p/17724741.html

相关文章

  • Clion中使用QtCharts导致进程直接退出
    解决办法:除了需要Qt6Charts.dll外,还需要引入QtOpenGL.dll、QtOpenGLWidgets.dll。最近在看H264编码相关的实现,一头雾水。顺便写了个二进制读取文件的小工具,方便分析码流。地址:BinaryView:使用二进制查看文件,(gitee.com)贴一下CMakeList:find_package(Qt6COMPONENTS......
  • crash工具学习 —— percpu相关的一些用法
    作者[email protected]查看percpu变量在每个cpu上的基地址crash>kmem-oPER-CPUOFFSETVALUES:CPU0:ffff88807f600000CPU1:ffff88807fa00000CPU2:ffff88813d600000CPU3:ffff88813da00000CPU4:ffff8881bd600000CPU5:ffff8881bda00000C......
  • C语言-字符串相关库函数用法+模拟实现
    常见的与字符串有关的库函数strstr()寻找子字符串strcat()字符串追加函数strcmp()字符串比较函数strcpy()字符串拷贝函数strlen()求解字符串长度...1.strstr()寻找子字符串我们先来看MSDN中对该函数的功能描述:Findasubstring.(寻找子......
  • C语言-字符串相关库函数用法+模拟实现
    常见的与字符串有关的库函数strstr()寻找子字符串strcat()字符串追加函数strcmp()字符串比较函数strcpy()字符串拷贝函数strlen()求解字符串长度...1.strstr()寻找子字符串我们先来看MSDN中对该函数的功能描述:Findasubstring.(寻找子......
  • 软件设计开发笔记5:QT开发三参数温室气体数据记录软件
      最近有一个为三参数温室气体分析仪及其多通道换向阀箱编写数据记录和控制的需求。所以在这一篇中我们就来分析一下如何使用QT实现这一需求。1、需求分析  虽然说传递过来的需求只有“实现一个三参数温室气体分析仪及其多通道换向阀箱的数据记录和控制”这样一句话,但所有人......
  • Qt实现在项目同级文件夹新建保存数据的文件夹,通过按钮新建文件
    新建文件夹需要的头文件#include<QFile>#include<QTextStream>#include<QDir>通过一个函数来判断是否存在指定的文件夹,如果存在则跳过,否则创建文件夹。boolWidget::isExists(){QStringfolderName="dataFolder";//文件夹名称QStringpath=QDir::curre......
  • QT中QLineEdit设置IP输入限制
    QT中设置QLineEdit只允许输入IP格式的数据,我们可以使用正则表达式,不过在QT5和QT6中有一点点不一样(QT5中是QRegExp和QRegExpValidator,QT6中是QRegularExpression和QRegularExpressionValidator):QT5#include<QRegExp>#include<QRegExpValidator>ui->lineEdit->setValidator(......
  • Qt学习01
    一、Qt简介1、Qt是什么图形用户界面应用程序开发框架,是对底层应用编程接口进行了面向对象的封装是一套基于C++语言的库,专注但不限于图形用户界面程序开发,还可以进行系统调用、网络编程、数据库、2D/3D图形处理2、为什么选择Qt基于C++语言,使用简单、易用,有优秀的跨平台特性,支......
  • Qt学习02
    一、信号和槽1、什么是Qt的信号当用户或者系统满足一定条件或触发某些动作时,导致窗口或者控件、类发生一些改变时,它们就会发射出一个对应的信号。信号可以预先连接一个特殊的函数,当信号被触发时,就会自动调用该函数,这样的函数就称为槽函数例如:QPushButton中的单击信号clicked信......
  • js中!!的用法(双感叹号)
    在javascript代码中经常会见到!!的情况,本文即以实例形式较为深入的分析javascript中2个感叹号的用法。分享给大家供大家参考之用。具体分析如下:javascript中的!!是逻辑"非非",即是在逻辑“非”的基础上再"非"一次。通过!或!!可以将很多类型转换成bool类型,再做其它判断。使用javas......