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