正文
列表数据Model,可以自定义格式。
详细说明
ListModel是定义ListElement的容器。内容可以动态定义,也可以在QML中明确定义。
可以通过count属性获得模型中数据的数量。可以使用模型的setProperty()方法来操作元素,该方法允许设置和更改指定元素属性。
用法示例
下面的示例显示一个ListModel,其中包含三个元素以及对应的角色(name和cost)。
import QtQuick 2.0
ListModel {
id: fruitModel
ListElement {
name: "Apple"
cost: 2.45
}
ListElement {
name: "Orange"
cost: 3.25
}
ListElement {
name: "Banana"
cost: 1.95
}
}
每个元素中的角色(属性)必须以小写字母开头,并且模型中的所有元素共有这些角色。
由于示例模型包含一个id属性,因此可以由视图(如下示例中的ListView)引用它:
import QtQuick 2.0
Rectangle {
width: 200; height: 200
ListModel {
id: fruitModel
...
}
Component {
id: fruitDelegate
Row {
spacing: 10
Text { text: name }
Text { text: '$' + cost }
}
}
ListView {
anchors.fill: parent
model: fruitModel
delegate: fruitDelegate
}
}
角色可以包含列表数据。在以下示例中,创建一个水果属性列表:
ListModel {
id: fruitModel
ListElement {
name: "Apple"