当我编译我的qt项目时显示如下错误?
QWidget: Cannot create a QWidget without QApplication
Run Code Online (Sandbox Code Playgroud)
问题是什么?
Main.cpp的
#include<QApplication>
#include"MainWindow.h"
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
MainWindow w;
w.show();
return app.exec();
}
Run Code Online (Sandbox Code Playgroud)
Ho1*_*Ho1 12
很明显.你需要QApplication一个QWidget.更改QGuiApplication为QApplication,代码将运行正常.
#include <QApplication>
#include "MainWindow.h"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MainWindow w;
w.show();
return app.exec();
}
Run Code Online (Sandbox Code Playgroud)
如果您想知道"为什么有三个主要类,如QApplication,QGuiApplication和QCoreApplication",请参阅此内容.它说:
QCoreApplication是基类,QGuiApplication扩展了基类,其功能与处理窗口和GUI内容相关(非小部件相关,例如OpenGL或QtQuick),QApplication扩展了QGuiApplication与处理小部件相关的功能.
顺便说一句,这不是Qt Creator上可用的基本示例吗?你需要一本书来学习Qt,我建议你阅读Jasmin Blanchette的"Qt 4(第2版)的C++ GUI编程".
你应该改变QGuiApplication对QApplication你的主.
对于基于QWidget的Qt应用程序,请使用QApplication,因为它提供了创建QWidget实例所需的一些功能.
| 归档时间: |
|
| 查看次数: |
11826 次 |
| 最近记录: |