単一の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ため、この場合、ファイルは上記の例のようにqmlQML タイプで開始できませんでした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();