欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Qt开发之路---消息对话框QMessageBox

程序员文章站 2022-03-21 22:33:23
QMessageBox用于显示消息提示。我们一般会使用其提供的几个 static 函数:1.显示关于对话框QMessageBox::about。void about(QWidget * parent, const QString & title, const QString & text);这是一个最简单的对话框,其标题是 title,内容是 text,父窗口是 parent。对话框只有一个 OK 按钮。2.显示关于 Qt 对话框QMessageBox::aboutQt。该对...

QMessageBox用于显示消息提示。我们一般会使用其提供的几个 static 函数:

  • 1.显示关于对话框QMessageBox::about
void about(QWidget * parent, const QString & title, const QString & text);

这是一个最简单的对话框,其标题是 title,内容是 text,父窗口是 parent。对话框只有一个 OK 按钮。

  • 2.显示关于 Qt 对话框QMessageBox::aboutQt。该对话框用于显示有关 Qt 的信息。
void aboutQt(QWidget * parent, const QString & title = QString());
  • 3.显示严重错误对话框QMessageBox::critical
StandardButton critical(QWidget * parent, 
						const QString & title, 
						const QString & text, 
						StandardButtons buttons = Ok, 
						StandardButton defaultButton = NoButton);

这个对话框将显示一个红色的错误符号。我们可以通过 buttons 参数指明其显示的按钮。默认情况下只有一个 Ok 按钮,我们可以使用StandardButtons类型指定多种按钮。

  • 4.显示信息对话框QMessageBox::information。这个对话框提供一个普通信息图标。
StandardButton information(QWidget * parent, 
							const QString & title, 
							const QString & text, 
							StandardButtons buttons = Ok, 
							StandardButton defaultButton = NoButton)
  • 5.显示问题对话框QMessageBox::question。这个对话框提供一个问号图标,并且其显示的按钮是“是”和“否”。
StandardButton question(QWidget * parent,
						const QString & title, 
						const QString & text, 
						StandardButtons buttons = StandardButtons( Yes | No ), 
						StandardButton defaultButton = NoButton) 
  • 6.显示警告对话框QMessageBox::warning。这个对话框提供一个黄色叹号图标。
StandardButton warning(QWidget * parent, 
						const QString & title, 
						const QString & text, 
						StandardButtons buttons = Ok, 
						StandardButton defaultButton = NoButton)

Qt开发之路---消息对话框QMessageBox

例程:

    if (QMessageBox::Yes == QMessageBox::question(this,
                  tr("Question"), tr("Are you OK?"),
                  QMessageBox::Yes | QMessageBox::No,
                  QMessageBox::Yes))
    {
        QMessageBox::information(this, tr("Hit"),tr("I clicked Yes!"));
    }
    else
    {
        QMessageBox::information(this, tr("Hit"),tr("I'm not!"));
    }

QMessageBox::question()来询问一个问题

  • 第一个参数是这个对话框的父窗口是this
    QMessageBox是QDialog的子类,这意味着它的初始显示位置将会是在 parent 窗口的*。
  • 第二个参数是对话框的标题
  • 第三个参数是我们想要显示的内容
    这里就是我们需要询问的文字。下面,我们使用或运算符(|)指定对话框应该出现的按钮Yes 和一个 No。
  • 最后一个参数指定默认选择的按钮
    这个函数有一个返回值,用于确定用户点击的是哪一个按钮。这是一个模态对话框,我们可以直接获取其返回值。
    Qt开发之路---消息对话框QMessageBox

QMessageBox类的 static 函数优点是方便使用,缺点也很明显:非常不灵活。我们只能使用简单的几种形式。为了能够定制QMessageBox细节,我们可以使用QMessageBox的属性设置 API,详情可查看说明文档。

上一篇:Qt开发之路8—对话框QDialog
下一篇:Qt开发之路10—文件对话框QFileDialog

本文地址:https://blog.csdn.net/weixin_43229139/article/details/110231956

相关标签: Qt c++