Qt 报错: QWidget: Must construct a QApplication before a QWidget
最近遇到一个问题,程序编译时出现报错: Must construct aQApplicationbefore a QWidget。
我的mainpp有这样的代码 1 int main(int argc, char *argv[]) 2
另外一个SS.h
1 class SS : public QWidget 2 ; 7 extern SS theApp;SSPP
1 #include "SS.h" 2 SS theApp; 3 SS::SS(QWidget *parent) : QWidget(parent) 4分析原因:
Qt要求先构造QApplication再构造QWidget,SS theApp 是一个全局的,全局对象的构造函数会在main函数之前执行,所以会先执行SS theApp再 QApplication a(argc, argv); 这违反了 Qt的规则;
解决方法:
SS *theApp; 改成指针,需要用的时候再new;
上一篇:Qt QWidget: Must construct a QApplication before a QWidget
下一篇:Qt killtimer 析构函数 Error: timer id is not valid for object timer has not been killed
Qt
spc文件怎么看,spc文件用什么打开?
0文件怎么看,0文件用什么打开?
sparseimage文件怎么看,sparseimage文件用什么打开?
sp文件怎么看,sp文件用什么打开?
dv文件怎么看,dv文件用什么打开?
soundpack文件怎么看,soundpack文件用什么打开?
dus文件怎么看,dus文件用什么打开?
dtw文件怎么看,dtw文件用什么打开?
spdf文件怎么看,spdf文件用什么打开?
0文件怎么看,0文件用什么打开?