本文主要是介绍【Qt 学习笔记】Qt窗口 | 标准对话框 | 消息对话框QMessageBox,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
- 博客主页:Duck Bro 博客主页
- 系列专栏:Qt 专栏
- 关注博主,后期持续更新系列文章
- 如果有错误感谢请大家批评指出,及时修改
- 感谢大家点赞👍收藏⭐评论✍
Qt窗口 | 标准对话框 | 消息对话框QMessageBox
文章编号:Qt 学习笔记 / 54
文章目录
- Qt窗口 | 标准对话框 | 消息对话框QMessageBox
- 一、QMessageBox介绍
- 1. 简介
- 2. 静态成员函数
- 二、QMessageBox的使用
- 1. 创建QMainWindow窗口
- 2. 创建按钮触发对话框
- 3. 编辑消息对话框(QMessageBox生成按钮)
- 4. 编辑消息对话框(QPushButton创建对话框按钮)
- 5. 编辑消息对话框(快速创建消息对话框)
一、QMessageBox介绍
1. 简介
在Qt中,可以使用QMessageBox类来创建和显示消息对话框。QMessageBox提供了各种类型的消息对话框,包括信息消息、警告消息、错误消息和询问消息等。
2. 静态成员函数
静态成员函数QMessageBox::information、QMessageBox::warning、QMessageBox::critical和QMessageBox::question分别创建信息、警告、错误和询问消息对话框。
静态成员函数 | 说明 |
---|---|
Question | ⽤于正常操作过程中的提问 |
Information | ⽤于报告正常运⾏信息 |
Warning | ⽤于报告⾮关键错误 |
Critical | ⽤于报告严重错误 |
二、QMessageBox的使用
1. 创建QMainWindow窗口
步骤参考文章【Qt 学习笔记】Qt窗口 | Qt窗口介绍 | QMainwindow类及各组件介绍
在文章中详细介绍了如何创建一个QMainWindow窗口
2. 创建按钮触发对话框
创建按钮及生成槽函数
3. 编辑消息对话框(QMessageBox生成按钮)
编辑槽函数,进行新建消息对话框。
void MainWindow::on_pushButton_clicked()
{//创建消息对话框QMessageBox * messageBox = new QMessageBox(this);//设置对话框标题messageBox->setWindowTitle("消息对话框");//设置对话框中的文本messageBox->setText("消息对话框的文本");//设置对话框的图标messageBox->setIcon(QMessageBox::Warning);//添加对话框内的按钮(按钮有QMessageBox自己生成)messageBox->setStandardButtons(QMessageBox::Ok | QMessageBox::Save);//模态对话框,非模态对话框使用show(),QMessageBox常用于模态//messageBox->show();messageBox->exec();//关闭窗口释放内存messageBox->setAttribute(Qt::WA_DeleteOnClose);
}
Ctrl+左键点击QMessageBox查看StandardButton按钮属性
enum StandardButton {// keep this in sync with QDialogButtonBox::StandardButton and QPlatformDialogHelper::StandardButtonNoButton = 0x00000000,Ok = 0x00000400,Save = 0x00000800,SaveAll = 0x00001000,Open = 0x00002000,Yes = 0x00004000,YesToAll = 0x00008000,No = 0x00010000,NoToAll = 0x00020000,Abort = 0x00040000,Retry = 0x00080000,Ignore = 0x00100000,Close = 0x00200000,Cancel = 0x00400000,Discard = 0x00800000,Help = 0x01000000,Apply = 0x02000000,Reset = 0x04000000,RestoreDefaults = 0x08000000,FirstButton = Ok, // internalLastButton = RestoreDefaults, // internalYesAll = YesToAll, // obsoleteNoAll = NoToAll, // obsoleteDefault = 0x00000100, // obsoleteEscape = 0x00000200, // obsoleteFlagMask = 0x00000300, // obsoleteButtonMask = ~FlagMask // obsolete};
4. 编辑消息对话框(QPushButton创建对话框按钮)
void MainWindow::on_pushButton_2_clicked()
{//创建消息对话框QMessageBox * messageBox = new QMessageBox(this);//设置对话框标题messageBox->setWindowTitle("消息对话框");//设置对话框中的文本messageBox->setText("消息对话框的文本");//设置对话框的图标messageBox->setIcon(QMessageBox::Warning);//使用QPushButton的方式创建按钮QPushButton* button = new QPushButton("按钮",messageBox);messageBox->addButton(button,QMessageBox::AcceptRole);//模态对话框,非模态对话框使用show(),QMessageBox常用于模态//messageBox->show();messageBox->exec();//关闭窗口释放内存messageBox->setAttribute(Qt::WA_DeleteOnClose);
}
Ctrl+左键点击QMessageBox查看StandardButton按钮属性
enum ButtonRole {// keep this in sync with QDialogButtonBox::ButtonRole and QPlatformDialogHelper::ButtonRoleInvalidRole = -1,AcceptRole,RejectRole,DestructiveRole,ActionRole,HelpRole,YesRole,NoRole,ResetRole,ApplyRole,NRoles};
5. 编辑消息对话框(快速创建消息对话框)
//警告
void MainWindow::on_pushButton_clicked()
{//参数1:父窗口的地址 参数2:对话框窗口标题 参数3:对话框内的文本 参数4:添加按钮QMessageBox::warning(this,"对话框标题","对话框文本",QMessageBox::Ok | QMessageBox::Save);
}
//报错
void MainWindow::on_pushButton_2_clicked()
{QMessageBox::critical(this,"对话框标题","对话框文本",QMessageBox::Ok | QMessageBox::Save);
}
//消息
void MainWindow::on_pushButton_3_clicked()
{QMessageBox::information(this,"对话框标题","对话框文本",QMessageBox::Ok | QMessageBox::Save);
}
//问题
void MainWindow::on_pushButton_4_clicked()
{QMessageBox::question(this,"对话框标题","对话框文本",QMessageBox::Ok | QMessageBox::Save);
}
这篇关于【Qt 学习笔记】Qt窗口 | 标准对话框 | 消息对话框QMessageBox的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!