我需要动态创建一个QQuickitem
& 添加到我的main.qml
.
尝试这样做,我QQuickitem
通过以下方式创建一个。
qml_engine->load(QUrl(QStringLiteral("qrc:/qml/main.qml")));
// Creating my QQuickItem here
QQuickItem * dynamic_quick_item = new QQuickItem();
dynamic_quick_item->setObjectName("DynamicQuickItemObject");
dynamic_quick_item->setHeight(500);
dynamic_quick_item->setWidth(500);
dynamic_quick_item->setParent(qml_engine->parent());
我可以访问QQmlApplicationEngine
in main.cpp
。
问题:如何添加dynamic_quick_item
到我的项目main.qml
?我想从 C++ 端动态添加dynamic_quick_item
到我的项目列表中。main.qml
它不需要添加到main.qml
. 只想将 a 添加QQuickItem
到 mymain.qml
中定义的 QML 项目列表中,这与main.qml
. 有没有可能的方法来实现这一点?
更新:执行以下操作应该获得QQuickItem
我添加的有效实例。但它没有
QQuickItem *my_dynamic_quickitem = qml_engine->rootObjects()[0]->findChild<QQuickItem*>("DynamicQuickItemObject");
我得到my_dynamic_quickitem
null 这意味着我创建的 QQuickItem 从未被添加