0

我必须将QQuickItem特定窗口所拥有的渲染到另一个窗口中。基本上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());

问题:
上述技术在功能上工作正常。但这需要我在将父项从 window1 设置为 window2 并再次返回之间折腾几次。

问题:
还有其他方法MyQQuickItem可以在 2 个窗口之间共享吗?或者是否可以MyQQuickItem在两个窗口上交替显示而无需更改父层次结构

4

1 回答 1

0

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

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

于 2017-09-11T07:39:16.763 回答