Qt开发: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)

参数说明:
parent:指定对话框的父窗口。如果为 nullptr,则对话框没有父窗口。
title:对话框的标题,通常是一个字符串。
text:对话框中要显示的信息文本,通常也是一个字符串。
buttons:指定对话框中显示的标准按钮,它是一个枚举值,可以根据需要选择不同的按钮组合。默认情况下,它是 QMessageBox::Ok,表示只有一个“确定”按钮。你可以使用位掩码将多个按钮组合在一起,例如 QMessageBox::Ok | QMessageBox::Cancel。
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";
    }
}

在这里插入图片描述

显示错误对话框:MessageBox::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)

参数说明:
QMessageBox::critical用于创建一个临界错误对话框,通常用于向用户显示重要的错误信息并要求用户采取适当的行动。这个函数的使用方式与 QMessageBox::information 类似,但它会以不同的图标和按钮组合显示,以强调错误的重要性。
parent:指定对话框的父窗口。如果为 nullptr,则对话框没有父窗口。
title:对话框的标题,通常是一个字符串。
text:对话框中要显示的错误信息文本,通常也是一个字符串。
buttons:指定对话框中显示的标准按钮,它是一个枚举值,可以根据需要选择不同的按钮组合。默认情况下,它是 QMessageBox::Ok,表示只有一个“确定”按钮。你可以使用位掩码将多个按钮组合在一起,例如 QMessageBox::Ok | QMessageBox::Cancel。
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::information 和 QMessageBox::critical 类似,但它会以不同的图标和按钮组合显示,以强调警告的性质。

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

参数说明:
parent:指定对话框的父窗口。如果为 nullptr,则对话框没有父窗口。
title:对话框的标题,通常是一个字符串。
text:对话框中要显示的警告信息文本,通常也是一个字符串。
buttons:指定对话框中显示的标准按钮,它是一个枚举值,可以根据需要选择不同的按钮组合。默认情况下,它是 QMessageBox::Ok,表示只有一个“确定”按钮。你可以使用位掩码将多个按钮组合在一起,例如 QMessageBox::Ok | QMessageBox::Cancel。
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";
    }
}

在这里插入图片描述

显示询问对话框:QMessageBox::question

QMessageBox::question用于创建一个询问对话框,通常用于向用户提出一个问题,以便用户可以选择“是”或“否”的答案。这个函数的使用方式与 QMessageBox::information、QMessageBox::warning 和 QMessageBox::critical 类似,但它会以不同的图标和按钮组合显示,以适应询问性质的对话。

QMessageBox::question(QWidget *parent, const QString &title, const QString &text,
                      QMessageBox::StandardButtons buttons = QMessageBox::Yes | QMessageBox::No,
                      QMessageBox::StandardButton defaultButton = QMessageBox::No)

参数说明:
parent:指定对话框的父窗口。如果为 nullptr,则对话框没有父窗口。
title:对话框的标题,通常是一个字符串。
text:对话框中要显示的问题文本,通常也是一个字符串。
buttons:指定对话框中显示的标准按钮,它是一个枚举值,通常包括 “是” 和 “否” 按钮。默认情况下,它是QMessageBox::Yes | QMessageBox::No,表示有一个“是”按钮和一个“否”按钮。你可以根据需要选择其他按钮组合。
defaultButton:指定默认选中的按钮,通常是一个标准按钮。默认是 QMessageBox::NoButton,表示没有默认按钮。

QMessageBox::question使用示例:

void MainWindow::on_btn_clicked_ques()
{
    QMessageBox::StandardButton button  = QMessageBox::question(nullptr, "question", "您确定要删除文件?",
                                              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::about

QMessageBox::about用于创建一个关于对话框,通常用于向用户显示应用程序的信息、版本号和作者等相关信息。这个函数的使用方式非常简单,它接受几个参数来配置对话框的内容和行为。

QMessageBox::about(QWidget *parent, const QString &title, const QString &text)

参数说明:
parent:指定对话框的父窗口。如果为 nullptr,则对话框没有父窗口。
title:对话框的标题,通常是一个字符串,用于描述对话框的用途,例如 “关于我们”。
text:对话框中要显示的关于信息,通常也是一个字符串,用于包含应用程序的版本号、作者、版权信息等。

QMessageBox::about使用示例:

void MainWindow::on_btn_clicked_default()
{
    QMessageBox::about(nullptr, "about", "默认提示信息框");
}

在这里插入图片描述

显示阻塞对话框:QMessageBox::exec

QMessageBox::exec用于在模态(阻塞式)对话框中显示一个消息框,并等待用户的响应。这个函数通常用于在应用程序中显示消息、警告或询问对话框,并等待用户采取适当的操作后继续执行。

int QMessageBox::exec()

exec 函数没有直接的参数,因为它是在创建 QMessageBox 对象后使用的。首先,你需要创建一个 QMessageBox 对象并设置其属性,然后调用 exec 函数来显示对话框,并等待用户响应。  
QMessageBox::exec使用示例:

void MainWindow::on_btn_clicked_exec()
{
    QMessageBox messageBox(QMessageBox::NoIcon, "登录", "用户和密码验证是否成功?", QMessageBox::Yes | QMessageBox::No);
    int iResult = messageBox.exec();
    switch (iResult) {
    case QMessageBox::Yes:
        QMessageBox::about(nullptr, "提示", "您好,您已经点击了yes按钮");
        break;
    case QMessageBox::No:
        QMessageBox::about(nullptr, "提示", "您好,您已经点击了no按钮");
        break;
    default:
        break;
    }
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值