网站首页 > 编程文章 正文
QMessageBox消息框的主要静态函数的功能如下:
- StandardButton information() 信息提示对话框
- StandardButton question() 询问并获取是否确认的对话框
- StandardButton waming() 警告信息提示对话框
- StandardButton critical() 错误信息提示对话框
- void about() 设置自定义信息的关于对话框
- void aboutQt() 关于Qt的对话框
简单信息提示
消息对话框QMessageBox用于显示提示、警告、错误等信息,或进行确认选择,由几个静态函数实现这些功能。其中warning()、information()和critical()这几个函数的输入参数和使用方法相同,只是信息提示的图标有区别。例如,warning()的函数原型是:
StandardButton QMessageBox::warning(QWidget *parent, const QString &title, const QString &text, StandardButtons buttons = Ok, StandardButton defaultButton = NoButton)
其中,parent是对话框的父窗口,指定父窗口之后,打开对话框时,对话框将自动显示在父窗口的上方中间位置;title是对话框标题字符串;text是对话框需要显示的信息字符串;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 Widget::on_btnMsgInformation_clicked()
{
//information
QString dlgTitle="information 消息框";
QString strInfo="文件已经打开,字体大小己设置";
QMessageBox::information(this, dlgTitle, strInfo, QMessageBox::Ok,QMessageBox::NoButton);
}
void Widget::on_btnMsgWarning_clicked()
{
//warning
QString dlgTitle="warning 消息框";
QString strlnfo="文件内容已经被修改";
QMessageBox::warning(this, dlgTitle, strlnfo);
}
void Widget::on_btnMsgCritical_clicked()
{
// critical
QString dlgTitle="critical 消息框";
QString strlnfo="有不明程序访问网络";
QMessageBox::critical(this, dlgTitle, strlnfo);
}
关于对话框
about()对话框的输入参数和使用方法与warning()相同,示例如下:
void Widget::on_btnMsgAbout_clicked()
{
// about
QString dlgTitle="about 消息框";
QString strlnfo="软件V1.0 \n保留所有版权";
QMessageBox::about(this, dlgTitle, strlnfo);
}
aboutQt()显示一个关于 Qt 的简单消息框,具有给定的标题并在父级上居中(如果父级不是nullptr)。该消息包括应用程序正在使用的Qt版本号,示例如下:
void Widget::on_btnMsgAboutQt_clicked()
{
// aboutQt
QString dlgTitle="aboutQt 消息框";
QMessageBox::aboutQt(this, dlgTitle);
}
确认选择对话框
QMessageBox::question()函数用于打开一个选择对话框,提示信息,并提供Yes、No、OK、Cancel等按钮,用户单击某个按钮返回选择,如常见的文件保存确认对话框如图所示。
静态函数QMessageBox::question()的原型如下:
StandardButton QMessagaBox::question (QWidget *parent, const QString &title,const QString &text, StandardButtons buttons = StandardButtons ( Yes | No ), StandardButton defaultButton = NoButton)
question()对话框的关键是在其中可以选择显示多个按钮,例如同时显示Yes、No、OK或 Cancel。其返回结果也是一个StandardButton类型变量,表示哪个按钮被单击了。下面是产生如图所示对话框的代码,并根据对话框选择结果进行了判断和显示。
void Widget::on_btnMsgQuestion_clicked()
{
QString dlgTitle="Question 消息框";
QString strlnfo="文件己被修改,是否保存修改?";
QMessageBox::StandardButton defaultBtn=QMessageBox::NoButton;
QMessageBox::StandardButton result;//返回选择的按钮
result=QMessageBox::question(this, dlgTitle, strlnfo,
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 消息框:无选择");
}
}
猜你喜欢
- 2024-10-14 「Qt入门第31篇」 网络(一)Qt网络编程简介
- 2024-10-14 qt 做手机android的串口通讯 qt下串口通信
- 2024-10-14 Qt 读写txt文本文件(qt读入文件)
- 2024-10-14 Qt 信号槽连接不成功问题原因汇总
- 2024-10-14 QML 性能优化建议(一)(qml例程)
- 2024-10-14 C++ QT中文件的读写操作(UI界面)(qt怎么读取文件内容)
- 2024-10-14 Qt 中的智能指针(qt 函数指针)
- 2024-10-14 Qt如何读取和写入配置文件的数据(qt 读写配置文件)
- 2024-10-14 Qt pro文件中的常用宏说明(qt pro 自定义宏)
- 2024-10-14 Qt应用程序主窗口:拖放操作与打印文档
你 发表评论:
欢迎- 05-09Spring Boot3 RESTful 接口参数校验,这篇吃透就够了!
- 05-09《Spring6》第02节:基于XML方式搭建Spring6框架开发环境
- 05-09MapStruct架构设计(mapstruct @mapping)
- 05-09分布式微服务架构组件(分布式微服务架构设计)
- 05-09Java Swing组件下的JButton实例(java swing 组件)
- 05-09java基础都在这了,小主们拿去吧(java基础是指什么)
- 05-09AOP的实现落地(拦截过滤),一切都要从Servlet说起
- 05-09【Spring Boot】WebSocket 的 6 种集成方式
- 最近发表
-
- Spring Boot3 RESTful 接口参数校验,这篇吃透就够了!
- 《Spring6》第02节:基于XML方式搭建Spring6框架开发环境
- MapStruct架构设计(mapstruct @mapping)
- 分布式微服务架构组件(分布式微服务架构设计)
- Java Swing组件下的JButton实例(java swing 组件)
- java基础都在这了,小主们拿去吧(java基础是指什么)
- AOP的实现落地(拦截过滤),一切都要从Servlet说起
- 【Spring Boot】WebSocket 的 6 种集成方式
- Java 中五种最常见加密算法:原理、应用与代码实现
- 用注解进行参数校验,spring validation介绍、使用、实现原理分析
- 标签列表
-
- spire.doc (59)
- system.data.oracleclient (61)
- 按键小精灵源码提取 (66)
- pyqt5designer教程 (65)
- 联想刷bios工具 (66)
- c#源码 (64)
- graphics.h头文件 (62)
- mysqldump下载 (66)
- sqljdbc4.jar下载 (56)
- libmp3lame (60)
- maven3.3.9 (63)
- 二调符号库 (57)
- 苹果ios字体下载 (56)
- git.exe下载 (68)
- diskgenius_winpe (72)
- pythoncrc16 (57)
- solidworks宏文件下载 (59)
- qt帮助文档中文版 (73)
- satacontroller (66)
- hgcad (64)
- bootimg.exe (69)
- android-gif-drawable (62)
- axure9元件库免费下载 (57)
- libmysqlclient.so.18 (58)
- springbootdemo (64)
本文暂时没有评论,来添加一个吧(●'◡'●)