在第二个窗口上渲染QQuickItem而不更改其父层次结构

时间:2017-09-10 21:45:27

标签: qt qml qquickitem qqmlapplicationengine qqmlengine

我必须将特定窗口所拥有的QQuickItem渲染到另一个窗口。基本上{1}}由window1拥有,以在window2上呈现。由于某种功能,此开关必须在我的应用中重复发生。

我执行以下操作以实现目标& 代码基本上可以正常运行

代码:

MyQQuickItem

问题:
以上技术功能正常。但是这需要我在设置父项从window1到window2&之间翻转几次。再回来。

问题:
是否以其他方式在两个窗口之间共享MyQQuickItem * myQuickItem = qmlEngine->rootObjects()[0]->findChild<QQuickItem*>("myquickitemobject"); myQuickItem->setParentItem(window1->contentItem()); // do the required on window2 // then set window1 as parent back again myQuickItem->setParentItem(window2->contentItem()); ?或者是否可以在两个窗口上显示MyQQuickItem或者而不必更改父层次结构

1 个答案:

答案 0 :(得分:0)

您可以使用grabToImage()并在第二个窗口显示抓取的图像 这可能不是理想的,性能明智。您可以在此站点上找到有关如何执行此操作的一些问题。特别有趣的可能是this.

我不知道你的情况,但是让同一个组件的两个实例显示相同的数据模型可能会更好 - 可能有一个禁用的输入。