我在新的Qt Quick 2项目上使用QSplashScreen时遇到问题。这是项目'main.cpp':
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
QPixmap pix("./test80.png");
QSplashScreen splash(pix);
splash.show();
QTest::qSleep(5000);
splash.hide();
QtQuick2ApplicationViewer viewer;
viewer.setMainQmlFile(QStringLiteral("qml/teste/main.qml"));
viewer.showExpanded();
return app.exec();
}
此代码编译。当我运行它时,应用程序输出显示以下消息:QWidget: Cannot create a QWidget without QApplication
。显然QGuiApplication并没有从QApplication继承,所以我很难过。
编辑:将QGuiApplication更改为QApplication似乎有效,但我担心QApp Quick将缺少Qt Quick 2所需的内容。
答案 0 :(得分:5)
实际上它是另一种方式:QApplication继承自QGuiApplication。你需要前者使用小部件。 : - )