原文地址::https://blog.csdn.net/HHT0506/article/details/115936668
1.需求
在实际工程项目中,一般是在C++中读取配置文件信息。当用户修改的配置文件数据不在设定范围时,需要弹出警告框,提示用户正确修改。
2.使用时出现的错误
(1)在main.cpp中包含头文件
#include<QMessageBox>
1
main函数中添加
QMessageBox::critical(NULL, "critical", "Content", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
1
(2)编译运行,发现找不到QMessageBox头文件。
这是因为Quick项目的pro中,没有包含widgets模块。pro文件中添加
QT += widgets
1
(3)编译运行,仍然出错
这个意思很明显,QMessageBox实质上是一个QWidget,但是没有QApplication便不能创建。Quick项目默认使用的是QGuiApplication,它是QApplication的父类。
将main函数中的QGUIApplication改为QApplication,并且添加头文件即可。
#include<QApplication>
1
如此,成功弹出警告窗口
3.总结
(1)pro文件中添加
QT+=widgets
1
(2)main.cpp中添加头文件
#include<QMessageBox>
#include<QApplication>
1
2
(3)main.cpp中,将QGuiApplication改为QApplication。
(4)main.cpp中,读取配置文件,对读取到的数据进行判断,不符合条件弹出提示框,间隔一段时间直接退出程序即可。
QMessageBox::critical(NULL, "critical", "Content", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
1