Qt是一个跨平台的 C++ 开发库,主要用来开发图形用户界面程序,可以说,Qt 是应用程序开发的一站式解决方案,那qt如何弹出提示框?下面来我们就来给大家讲解一下。
消息对话框 QMessageBox 用于显示提示、警告、错误等信息,或进行确认选择,由几个静态函数实现这些功能。其中 warning()、information()、critical() 和 about() 这几个函数的输入参数和使用方法相同,只是信息提示的图标有区别。
例如,warning() 的函数原型是:
StandardButton QMessageBox::warning(QWidget *parent, const QString &title, const QString &text, StandardButtons buttons = Ok, StandardButton defaultButton = NoButton)
其中,parent 是对话框的父窗口,指定父窗口之后,打开对话框时,对话框将自动显示在父窗口的上方中间位置;title 是对话框标题字符串;text 是对话框需要显7K的信息字符串;buttons 是对话框提供的按钮,缺省只有一个 OK 按钮;defaultButton 是缺省选择的按钮,缺省表示没有选择。
warning() 函数的返回结果是 StandardButton 类型。对话框上显示的按钮和缺省选中按钮也是 StandardButton 类型。
StandardButton 是各种按钮的定义,如 OK、Yes、No、Cancel 等,其枚举取值是 QMessageBox::Ok、QMessageBox::Cancel、QMessageBox::Close 等。
详见 Qt 帮助文档中的StandardButton 类型的说明。
对于 warning()、information()、critical() 和 about() 这几种对话框,它们一般只有一个 OK 按钮,且无须关心对话框的返回值。所以,使用缺省的按钮设置即可。
例如,下面是程序中调用 QMessageBox 信息显示的代码(显示的几个对话框如图所示):
void Dialog::on_btnMsgInformation_clicked() { QString dlgTitle = "information消息框"; QString strInfo = "文件已经打开,字体大小已设置"; QMessageBox::information(this, dlgTitle, strInfo , QMessageBox::Ok, QMessageBox::NoButton); } void Dialog::on_btnMsgWarning_clicked() { QString dlgTitle = "warning 消息框"; QString strInfo = "文件内容已经被修改"; QMessageBox::warning(this, dlgTitle, strInfo); } void Dialog::on_btnMsgCritical_clicked() { QString dlgTitle = "critical消息框"; QString strInfo = "有不明程序访问网络"; QMessageBox::critical(this, dlgTitle, strInfo); } void Dialog::on_btnMsgAbout_clicked() { QString dlgTitle = "about消息框"; QString strInfo = "我开发的数据查看软件 V1.0 \n 保留所有版权"; QMessageBox::about(this, dlgTitle, strInfo); }
确认选择对话框
QMessageBox::question() 函数用于打开一个选择对话框,提示信息,并提供 Yes、No、OK、Cancel 等按钮,用户单击某个按钮返回选择,如常见的文件保存确认对话框如图所示。
静态函数 QMessageBox::question() 的原型如下:
StandardButton QMessageBox::question(QWidget *parent, const QString &title, const QString &text, StandardButtons buttons = StandardButtons( Yes | No ), StandardButton defaultButton = NoButton)
question() 对话框的关键是在其中可以选择显示多个按钮,例如同时显示 Yes、No、OK 或 Cancel() 其返回结果也是一个 StandardButton 类型变量,表示哪个按钮被单击了。
下面是产生如图所示对话框的代码,并根据对话框选择结果进行了判断和显示:
void Dialog::on_btnMsgQuestion_clicked() { QString dlgTitle = "Question消息框"; QString strInfo = "文件已被修改,是否保存修改?"; QMessageBox::StandardButton defaultBtn = QMessageBox::NoButton; //缺省按钮 QMessageBox::StandardButton result; //返回选择的按钮 result = QMessageBox::question(this, dlgTitle, strInfo , QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel , defaultBtn); if (result == QMessageBox::Yes) ui - > plainTextEdit - > appendPlainText("Question消息框: Yes 被选择"); else if (result == QMessageBox::No) ui - > plainTextEdit - > appendPlainText("Question消息框: No 被选择"); else if (result == QMessageBox::Cancel) ui - > plainTextEdit - > appendPlainText("Question消息框: Cancel 被选择"); else ui - > plainTextEdit - > appendPlainText("Question消息框: 无选择"); }
Qt 为应用程序设计提供了一些常用的标准对话框,如打开文件对话框、信息提示和确认选择对话框、标准输入对话框等,用户无需再自己设计这些常用的对话框,这样可以减少程序设计工作量。
这样就完成了QMessageBox 消息对话框的设置,此消息对话框主要是用于显示提示、警告、错误等信息,我们感兴趣的话,可以自己设置一下哦!最后大家如果想要了解更多json相关知识,敬请关注奇Q工具网。
推荐阅读: