2

我在新的 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 似乎可行,但我担心 QApplication 会缺少 Qt Quick 2 所需的东西。

4

1 回答 1

5

实际上是相反的:QApplication 继承自 QGuiApplication。你需要前者来使用小部件。:-)

于 2013-07-12T22:23:57.887 回答