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



我必须将特定窗口拥有的QQuickItem渲染到另一个窗口中。基本上MyQQuickItem由窗口 1 拥有,以便在窗口 2 上呈现。由于某些功能,此切换必须在我的应用程序中反复发生。

我执行以下操作来实现目标,代码基本工作正常

法典:

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());

问题:
上述技术功能正常。但这需要我在将父项从窗口 1 设置到窗口 2 并再次返回之间切换几次。

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

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

我不知道您的情况,但最好让同一组件的两个实例显示相同的数据模型 - 可以在禁用一个输入的情况下使用。

相关内容

  • 没有找到相关文章

最新更新