I have a QQuickItem
fetched from C++ side like this.
QQuickItem * my_item = qmlEngine->rootObjects()[0]->findChild<QQuickItem*>("ItemObjectName");
my_item
is valid & has all the properties set on to it.
Scenario
I have 2 windows which need this QQuickItem
to be drawn on alterantively. I want to render this my_item
to a different window. This works perfectly fine as long as I set the Parent of the my_item
to the other window
// the_other_window is a QQuickWindow
QQuickWindow * the_other_window;
// here I set parent
my_item->setParentItem(the_other_window->contentItem());
This requires me to do setParentItem
again back to my_item
's original window otherwise it goes invisible on the original window. This is working but gives me unnecessary dependency. Instead I am trying to create a copy of the QQuickItem
& do a setParentItem
on that. By copying like this:
QQuickItem * item_copy = new QQuickItem(my_item);
Problem:
But this doesn't seem to create a copy of the QQuickItem
& hence I don't see a copy of my_item
on the_other_window
.
Question:
All I want to know is, how can I create a valid copy a QQuickItem
into another pointer say QQuickItem * item_copy
& render it on a different window without affecting the visibility/state of the original QQuickItem
?