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
pla文件怎么看,pla文件用什么打开?
pl1文件怎么看,pl1文件用什么打开?
pl文件怎么看,pl文件用什么打开?
pl0文件怎么看,pl0文件用什么打开?
pkt文件怎么看,pkt文件用什么打开?
pkm文件怎么看,pkm文件用什么打开?
pks文件怎么看,pks文件用什么打开?
pka文件怎么看,pka文件用什么打开?
pkh文件怎么看,pkh文件用什么打开?
pkg文件怎么看,pkg文件用什么打开?