qt:QMessageBox的常见用法

头文件:#include <QMessageBox>

Infomation消息对话框

初始化格式:

cpp 复制代码
QMessageBox * msgBox = new QMessageBox(QMessageBox::Information, "我是标题", "我是提示文字", 按钮);

按钮可以是以下取值,会在按键上显示出相映的英文:

QMessageBox::Ok,QMessageBox::Open,QMessageBox::Save,QMessageBox::Cancel,QMessageBox::Close,QMessageBox::Discard,QMessageBox::Apply,QMessageBox::Reset,QMessageBox::Yes,QMessageBox::No

我们可以改变按钮上的字

需要包含头文件#include <QPushButton>

cpp 复制代码
msgBox->button(QMessageBox::Ok)->setText("确定");

并且可以为该按钮绑定响应的事件

我们也可以改变窗体的图标(ICON)

cpp 复制代码
msgBox->setWindowIcon(QIcon(":/res/icon.png"));

我们也可以向常规窗体一样改变msgBox的大小

cpp 复制代码
msgBox->setFixedSize(200,100);

最后别忘了show一下

cpp 复制代码
msgBox->show();

Critical错误对话框

初始化格式

cpp 复制代码
QMessageBox * msgBox = new QMessageBox(QMessageBox::Critical, "我是标题", "我是提示文字", 按钮);

按钮格式与上文Information的按钮取值一样

Question询问对话框

初始化格式

cpp 复制代码
QMessageBox * msgBox = new QMessageBox(QMessageBox::Question, "我是标题", "我是提示文字", QMessageBox::Ok|QMessageBox::Cancel);

按钮格式与上文Information的按钮取值一样

比如说

cpp 复制代码
msgBox->button(QMessageBox::Ok)->setText("确定");
msgBox->button(QMessageBox::Cancel)->setText("取消");

Warning警告对话框

初始化格式

cpp 复制代码
QMessageBox * msgBox = new QMessageBox(QMessageBox::Warning, "我是标题", "我是提示文字", 按钮);

按钮格式与上文Information的按钮取值一样

自定义对话框

可以按照如下方法初始化一个空白对话框

cpp 复制代码
    QMessageBox * msgBox = new QMessageBox;
    msgBox->setWindowTitle("标题");
    msgBox->setText("提示性文字");
    msgBox->show();

可以看到,默认不带任何图标,带一个OK按钮,可以根据上文我们说的方法改变按钮样式

相关推荐
T0uken43 分钟前
【QT Qucik】C++交互:接收QML信号
c++·qt·交互
martian6651 小时前
QT开发:基于Qt实现的交通信号灯模拟器:实现一个带有倒计时功能的图形界面应用
开发语言·qt
s_little_monster1 小时前
【QT】QT入门
数据库·c++·经验分享·笔记·qt·学习·mfc
m0_687399843 小时前
QT combox 前缀匹配
开发语言·数据库·qt
StrokeAce5 小时前
linux桌面软件(wps)内嵌到主窗口后的关闭问题
linux·c++·qt·wps·窗口内嵌
威桑13 小时前
记一次控件提升后,运行却不显示的Bug
qt
FL162386312914 小时前
[深度学习][python]yolov11+bytetrack+pyqt5实现目标追踪
深度学习·qt·yolo
优雅的小武先生19 小时前
QT中的按钮控件和comboBox控件和spinBox控件无法点击的bug
开发语言·qt·bug
Death20019 小时前
使用Qt进行TCP和UDP网络编程
网络·c++·qt·tcp/ip
海绵波波10720 小时前
Qt操作主/从视图及XML——实例:汽车管理系统
xml·qt·汽车