新しい 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 に欠けているのではないかと心配しています。