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按钮,可以根据上文我们说的方法改变按钮样式

相关推荐
程序员如山石1 小时前
QT标签左侧水平显示
qt
xcyxiner2 小时前
ubuntu下 cmake初始化脚本 以及 qt依赖
c++·qt
郝学胜_神的一滴2 小时前
Qt 高级开发 019:从零定制登录窗口按钮、Logo 样式与交互悬浮效果
c++·qt
GHL2842710902 小时前
Qt Creator 19.0.0 (Community)下载
开发语言·qt
Mr.Lu ‍3 小时前
QT调试查看QT内部数据时显示无可用信息,未为 Qt5Cored.dll 加载任何符号
开发语言·qt
AI算法沐枫4 小时前
基于YOLO26深度学习的【果园荔枝检测与计数】系统设计与实现【python源码+Pyqt5界面+数据集+训练代码】
开发语言·人工智能·python·深度学习·qt·学习·机器学习
Cx330❀5 小时前
【Qt 核心机制篇】深度解析 Qt 信号与槽(Signals & Slots)机制:从底层原理、实战演练到 Lambda 进阶
linux·开发语言·c++·人工智能·qt·ubuntu
学习,学习,在学习5 小时前
Modbus TCP同步通信方式实现异步级效率
网络·c++·qt·网络协议·tcp/ip·qt5
eggcode14 小时前
【Qt学习】Linux(ARM架构)在线安装Qt6.x
linux·qt·学习·arm
似水এ᭄往昔1 天前
【Qt】--Qt概述
开发语言·c++·qt