単一のQQmlEngine
. コードに従って、次のようなことができます。
QQmlEngine engine;
QQmlComponent component(&engine);
component.loadUrl(QUrl(QStringLiteral("qrc:/main.qml")));
if ( component.isReady() )
component.create();
else
qWarning() << component.errorString();
component.loadUrl(QUrl(QStringLiteral("qrc:/main2.qml")));
if ( component.isReady() )
component.create();
else
qWarning() << component.errorString();
でも好きQQmlApplicationEngine
です。このクラスはQQmlEngine
とを組み合わせてQQmlComponent
、単一の QML ファイルをロードする便利な方法を提供します。したがって、使用する機会があれば、コードの行数は少なくなりますQQmlApplicationEngine
。
例:
QGuiApplication app(argc, argv);
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
engine.load(QUrl(QStringLiteral("qrc:/main2.qml")));
return app.exec();
も使用できますQQuickView
。QQuickView
から派生したルート オブジェクトのロードのみをサポートするQQuickItem
ため、この場合、ファイルは上記の例のようにqml
QML タイプで開始できませんでしたApplicationWindow
。Window
したがって、この場合、次のmain
ようになります。
QGuiApplication app(argc, argv);
QQuickView view;
view.setSource(QUrl("qrc:/main.qml"));
view.show();
QQuickView view2;
view2.setSource(QUrl("qrc:/main2.qml"));
view2.show();
return app.exec();