Qt QML 杂记

QML中的var和variant有什么不同

2020-08-13  本文已影响0人  赵者也

根据 Qt 5 中 variant 的文档描述来看:

variant 类型和 var 类型一样在 QML 中都是泛型属性类型。只是 variant 类型已经过时了,仅用于支持旧的应用程序(向后兼容使用);新的 QML 应用程序应该使用 var 类型属性。

所以,总结一句话就是,除非我们的应用程序还在支持比较老的版本的 Qt,否则不要在 QML 的代码中使用 variant 类型。

下面是使用建议:

property list<Item> myArray: [ Item {}, Item {} ]

另外,在我的文章 QML 性能上的注意事项和建议 中的“类型转换”部分也有介绍:“property var” 应被视为优于 “property variant” (请注意,“property variant” 被标记为已过时),因为它允许存储真正的 JavaScript 引用(这可以减少某些表达式中需要的转换次数)。

参考链接:

  1. Are “var” and “variant” the same thing?
  2. QML 性能上的注意事项和建议
上一篇下一篇

猜你喜欢

热点阅读