据我了解,要在 QML 中将属性设为数组,您必须将其指定为类型variant或var:
property var myArray:[]
这似乎与以下内容完全相同:
property variant myArray:[]
这是真的?
根据Qt 5.0 变体文档:
变体类型是通用属性类型。它已过时,仅用于支持旧应用程序;新应用程序应该使用var类型属性。
所以是的,它是一样的,但你应该始终坚持var(除非你有一个不支持的早期版本)。
这不是一个全新的答案,但包含有关@Tim Meyer 根据我自己的经验提供的答案的附加信息:
property variant必须使用,否则会产生 QML 解析错误。property variant或property var。但建议使用后一种,因为前一种已被弃用。Qt 4property variant或 Qt 5property var可用于 QML 数组或列表声明/定义。myArray但如果事先知道的类型和不变的内容,property list<Type>也可以使用。例如:
属性列表< Item> myArray:[项目{},项目{}]