Qt编程 ——消息对话框(QMessageBox)的使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt编程 ——消息对话框(QMessageBox)的使用相关的知识,希望对你有一定的参考价值。

参考技术A

  QMessageBox类提供了一个 模态对话框 ,用于通知用户或询问用户问题并接收答案。
  消息框显示一个主要文本,以警告用户注意某种情况;一个信息性文本,用于进一步说明警报或询问用户问题;以及一个可选的详细文本,以在用户请求时提供更多数据。 消息框还可以显示一个图标和用于接受用户响应的标准按钮。

在使用该类之前,需要包含以下头文件。

演示结果:

演示结果:

演示结果:

演示结果:

演示结果:

QT学习三 标准对话框 QMessageBox

 

QMessageBox内置了几种static方法,例如

QMessageBox::question()

返回值:StandardButton 

参数:QWidget * 父窗口,标题名,内容,按钮 YES|NO,默认选中按钮)

示例:

 1 #include "mainwindow.h"
 2 #include <QApplication>
 3 #include <QMessageBox>
 4 int main(int argc, char *argv[])
 5 {
 6     QApplication a(argc, argv);
 7     MainWindow w;
 8     if(QMessageBox::No == QMessageBox::question(&w,"Question","Hello?",QMessageBox::Yes|QMessageBox::No,QMessageBox::Yes))
 9     {
10         QMessageBox::information(&w,"You click No","I want to you click Yes");
11     }
12     else{
13         QMessageBox::information(&w,"You click Yes","Good Job");
14     }
15     w.show();
16 
17     return a.exec();
18 }

效果:

技术图片技术图片技术图片

 

 其他几个static方法使用大同小异,具体可以查阅API

自制对话框

代码:

 1 #include "mainwindow.h"
 2 #include <QApplication>
 3 #include <QMessageBox>
 4 int main(int argc, char *argv[])
 5 {
 6     QApplication a(argc, argv);
 7     MainWindow w;
 8     QMessageBox myBox;
 9     myBox.setText("This is a box");
10     myBox.setInformativeText("Are you ok?");
11     myBox.setDetailedText("Are you ok now");
12     myBox.setStandardButtons(QMessageBox::Ok|QMessageBox::No|QMessageBox::Help);
13     int answer = myBox.exec();
14     if(answer == QMessageBox::Ok){
15         QMessageBox::about(&w,"OK","OK");
16     }
17     else{
18          QMessageBox::about(&w,"...","...");
19     }
20     w.show();
21 
22     return a.exec();
23 }

 

效果:

技术图片技术图片技术图片

 

以上是关于Qt编程 ——消息对话框(QMessageBox)的使用的主要内容,如果未能解决你的问题,请参考以下文章

[Qt入门]消息对话框创建

QT学习三 标准对话框 QMessageBox

Qt 中的消息对话框

QT 对话框二

qt5---QMessageBox消息框

Qt 去掉QMessageBox上的标题栏