据我了解,要在 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:[项目{},项目{}]