我有一个QQuickItem
像这样从 C++ 端获取的。
QQuickItem * my_item = qmlEngine->rootObjects()[0]->findChild<QQuickItem*>("ItemObjectName");
my_item
是有效的,并且设置了所有属性。
场景
我有2 个窗口需要QQuickItem
交替绘制。我想把它渲染my_item
到另一个窗口。只要我将父级设置my_item
为另一个窗口,这一切都很好
// the_other_window is a QQuickWindow
QQuickWindow * the_other_window;
// here I set parent
my_item->setParentItem(the_other_window->contentItem());
这需要我setParentItem
再次回到my_item
的原始窗口,否则它在原始窗口上不可见。这是有效的,但给了我不必要的依赖。相反,我正在尝试创建QQuickItem
& 的副本并setParentItem
对其进行操作。通过这样复制:
QQuickItem * item_copy = new QQuickItem(my_item);
问题:
但这似乎没有创建QQuickItem
& 的副本,因此我没有看到my_item
on的副本the_other_window
。
问题:
我想知道的是,我怎样才能创建一个有效的副本 aQQuickItem
到另一个指针QQuickItem * item_copy
中并在另一个窗口上渲染它而不影响原始的可见性/状态QQuickItem
?