小智 2
如果你实际上不知道该项目的父项,我认为你不进入 C++ 就无法找到答案。如果您只想更改项目的QObject父级,则应该能够在 QML 中通过将其添加到data其新父级的属性来实现。(如果适用的话,这也会更改其视觉父级。)
引用Qt Quick Concepts文档:
出于内存管理的目的,分配给项目的数据属性的任何对象都会成为其 QObject 层次结构中该项目的子项。此外,如果添加到 data 属性的对象属于 Item 类型,它也会被分配给 Item::children 属性,并成为视觉场景层次结构中该项目的子项。(大多数 Qt Quick 层次结构抓取算法,尤其是渲染算法,仅考虑视觉父层次结构。)