我正在使用我自己的小部件从c ++扩展QML,DefaultProperty
和QQmlListProperty
,就像这里一样.
这样我就可以写了
Parent { Child { prop: "ch1" } Child { prop: "ch2" } Child { prop: "ch3" } }
Child对象追加到QQmlListProperty类型的成员属性.
但是当我想使用这样的Repeater:
Parent { Repeater { model: ["ch1","ch2","ch3"] delegate: Child { prop: modelData } } }
然后运行时给了我一个错误: Cannot assign object to list property "childObjects"
如何设置Repeater的Parent对象的list属性?
编辑:我发现,Repeater
继承Item
并且只能重复项目.但是我的Child
对象继承了QObject
.所以我必须创建一个Repeater
for QObjects
.但那不是问题.Item
对象如何有一个手动编写的子项,还有一个Repeater孩子给了他很多孩子?