如何在 QML 的列表中直接声明项目?
Posted
技术标签:
【中文标题】如何在 QML 的列表中直接声明项目?【英文标题】:How to declare items directly in a list in QML? 【发布时间】:2018-08-28 08:13:34 【问题描述】:我在 QML 中有一个 Dummy
对象:
import QtQuicks 2.7
Item property int foo: 0
而另一个卑鄙的人需要创建这样一个对象的实例列表。但是我该如何声明呢?在列表中使用直接的 QML 声明不起作用:
import QtQuicks 2.7
Item
property var fools: [
Dummy foo: 1,
Dummy foo: 2,
Dummy foo: 3
]
我收到错误Cannot assign multiple values to a singular property
如何正确声明一个假人列表?
【问题讨论】:
QtQuick 2.7 是你能用的最高版本,还是能用最新的? 您不能使用ObjectModel 或VisualItemModel(取决于您的QtQuick 版本)吗? 您是否收到错误消息?你期待什么? 错误是:Cannot assign multiple values to a singular property
【参考方案1】:
如果你用的是最近的Qt版本(用Qt 5.9测试过,不知道什么时候引入的,但5.7没有)你可以使用type:
property list<Item> itemList: [
Item ,
Item ,
...
]
【讨论】:
以上是关于如何在 QML 的列表中直接声明项目?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 QML 中的 Listview 中保留特定列表项之间的空间