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 に変更するとうまくいくように見えましたが、Qt Quick 2 に必要なものが QApplication に欠けているのではないかと心配しています。

4

1 に答える 1

5

実際には逆です。QApplication は QGuiApplication を継承しています。また、ウィジェットを使用するには前者が必要です。:-)

于 2013-07-12T22:23:57.887 に答える