如何在 QML 中直接在列表中声明项目?

Lær*_*rne 2 qt qml qt5

我在 QML 中有一个Dummy对象:

import QtQuicks 2.7
Item { property int foo: 0 }
Run Code Online (Sandbox Code Playgroud)

另一个对象需要创建此类对象的实例列表。但我该如何声明呢?在列表中使用直接 QML 声明不起作用:

import QtQuicks 2.7

Item {
    property var fools: [
        Dummy {foo: 1},
        Dummy {foo: 2},
        Dummy {foo: 3}
    ]
}
Run Code Online (Sandbox Code Playgroud)

我收到错误Cannot assign multiple values to a singular property

如何正确声明假人列表?

der*_*erM 5

如果您使用最新的 Qt 版本(使用 Qt 5.9 进行测试,我不知道它是什么时候引入的,但不是在 5.7 中引入的),您可以使用以下类型:

property list<Item> itemList: [
    Item {},
    Item {},
    ...
]
Run Code Online (Sandbox Code Playgroud)