试图向自定义Qt3D实体添加类似委托的属性:
MyEntity.qml:
Entity {
id: root
default property Entity delegate // <-- MyEntity.qml:26
property int n: 1
property matrix4x4 t
NodeInstantiator {
id: rep
model: root.n
delegate: Entity {
components: [
Transform {
matrix: {
var m = root.t
for(var i = 1; i < rep.index; i++)
m = m.times(root.t)
return m
}
}
]
NodeInstantiator {
delegate: root.delegate
}
}
}
}用法:
MyEntity {
t: Qt.matrix4x4(
1, 0, 0, 0.1,
0, 1, 0, 0,
0, 0, 1, 0,
0, 0, 0, 1
)
n: 5
Entity {...}
}结果:
qrc:/MyEntity.qml:26:17:无法分配Qt3DCore::QQmlComponent::Quick3DEntity
发布于 2020-11-23 12:28:07
财产申报:
default property Entity delegate必须改为:
default property Component delegate才能正常工作。
https://stackoverflow.com/questions/64965937
复制相似问题