QML类型——ListElement

正文

列表元素,在ListModel中定义一个数据项。

详细说明

列表元素在ListModel内定义,使用ListView或Repeater类型显示列表中的所有元素。


列表元素的定义与其他QML元素一样,只是它们包含角色定义而不是属性的集合。角色的使用和属性定义的语法相同,既定义了如何访问数据又包括了数据本身。


角色名称必须以小写字母开头,并且应为给定模型中的所有元素所共有。值必须是简单常量:字符串、布尔值、数字或枚举值。


从Qt5.11开始,ListElement还允许将函数声明分配给角色。这允许使用可调用操作定义ListElements。

引用角色

通过使用角色名称从列表元素获取数据。每个角色名称都可以在代理的范围内访问,并引用当前元素中的相应角色。如果角色名称使用不明确(即和属性名称有重复),则可以通过model属性来访问(例如:使用model.cost来替代cost)。

用法示例

以下模型定义了一系列列表元素,每个列表元素包含“name”和“cost”角色以及其关联的值。

ListModel {
    {
    id:  fruitModel

    ListElement {
        name: "Apple"
        cost: 2.45
    }
    ListElement {
        name: "Orange"
        cost: 3.25
    }
    ListElement {
        name: "Banana"
        cost: 1.95
    }
}

代理通过简单的引用name和const获取每个元素的名称和成本:

ListView {
    anchors.fill: parent
    model: fruitModel
    delegate: Row {
        Text { text: "Fruit: " + name }
        Text { text: "Cost: $" + cost }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值