在我的应用程序中,我想从C ++代码创建具有QML UI的另一个窗口。
我知道可以使用QML Window类型创建另一个窗口,但我需要从C ++代码中实现相同的功能。
到目前为止,我已成功将我的附加qml文件加载到QQmlComponent中:
QQmlEngine engine;
QQmlComponent component(&engine);
component.loadUrl(QUrl(QStringLiteral("qrc:/testqml.qml")));
if ( component.isReady() )
component.create();
else
qWarning() << component.errorString();
我该如何在单独的窗口中显示它?
QQmlApplicationEngine
不会自动创建根窗口。在阅读了你的消息后,我认为更新我的答案并提供另一个选项是个好主意:使用QQuickView
。在这种情况下,正如你所知,QQuickView
仅支持加载从QQuickItem
派生的根对象。 - Tarod