C
重复器 QML 类型
使用提供的模型实例化一定数量的基于 Item 的组件。 更多...
导入声明 | import QtQuick |
自 | Qt Quick Ultralite 1.0 |
继承 |
属性
方法
- var itemAt(int index)
详细描述
重复器类型用于创建大量相似项。与其他视图类型一样,重复器有一个模型和一个代理:对于模型中的每个条目,代理都会在由模型提供的数据种子的上下文中实例化。重复器项通常嵌套在定位器类型中,例如 Row 或 Column,以便在视觉上定位由重复器创建的多个代理项。
示例
以下重复器在行中创建了三个文本项实例
实例化项按顺序作为重复器父项的子项插入。插入操作从重复器在父堆叠列表中的位置开始。这使得重复器可以在布局中使用。例如,以下重复器的项在红色矩形和蓝色矩形之间堆叠
Item { Row { padding: 10 Rectangle { width: 10; height: 20; color: "red" } Repeater { model: 10 Rectangle { width: 20; height: 20; radius: 10; color: "green" } } Rectangle { width: 10; height: 20; color: "blue" } }}
代理可以通过只读索引属性公开,该属性指示代理在重复器中的索引。例如,以下文本代理显示每个重复项的索引
使用重复器时的注意事项
重复器类型在重复器首次创建时创建其所有代理项。如果有大量代理项,并且不是所有项都需要同时可见,这可能会导致效率低下。如果是这种情况,可以考虑使用其他视图类型,如 ListView(仅当项滚动到视图中时才创建代理项),或者使用动态对象创建方法按需创建项。
此外,请注意,重复器是基于项的,并且只能重复 Item 继承的对象。例如,它不能用于重复 QtObjects
// bad code: Item { // Can't repeat QtObject as it doesn't derive from Item. Repeater { model: 10 QtObject {} } }
属性文档
delegate : Component |
代理提供了一个模板,定义了重复器实例化每个项的方式。
model : 任何类型 |
提供数据给重复器模型的模型。
方法文档
|
返回在指定 index 处创建的项目,或者在索引处不存在项时返回 null。
此方法从 Qt Quick Ultralite 1.6 中引入。
在特定 Qt 许可证下提供。
了解更多信息。