QML类型:Repeater
一、描述
Repeater 类型用于创建大量相似的项目。是一种视图元素。与其他视图类型一样,Repeater 有一个模型和一个委托。
Repeater 项通常包含在定位器类型中,例如 Row 或 Column,以直观地定位由 Repeater 创建的多个委托项。
下面的 Repeater 在一行中创建了 Rectangle 项的三个实例:
import QtQuick 2.0Row
{Repeater {model: 3Rectangle {width: 100; height: 40border.width: 1color: "yellow"}}
}
Repeater 的模型可以是任何受支持的数据模型。此外,与其他视图的委托一样,Repeater 委托可以访问其在 Repeater 中的索引,以及与委托相关的模型数据。
由 Repeater 实例化的项目按顺序插入,作为 Repeater 的父项的子项。Repeater 项拥有它实例化的所有项。删除或动态销毁由 Repeater 创建的项目会导致不可预测的行为。
Repeater 类型在第一次创建中继器时创建其所有委托项。如果有大量委托项并且不是所有的项都需要同时可见,则这可能是低效的。这种情况,请考虑使用其他视图类型,如 ListView(仅在滚动到视图中时创建委托项)或使用动态对象创建方法在需要时创建项。
另请注意,Repeater 是基于 Item 的,并且只能重复 Item 派生的对象。例如,它不能用于重复 QtObjects:
// 错误的代码:
Item
{Repeater {model: 10QtObject {}}
}
二、属性成员
1、count : int
此属性保存模型中的项目数。
2、delegate : Component 【默认类型(省略 delegate)】
委托提供了一个模板,定义了由 Repeater 实例化的每个项目。
委托公开给只读索引属性,该属性指示 Repeater 中委托的索引。
例如,以下 Text 委托显示每个重复项的索引:
如果模型是字符串列表或对象列表,则委托还会公开给包含字符串或对象数据的只读 modelData 属性。例如:
3、model : any
为 Repeater 提供数据的模型。
此属性可以设置为任何受支持的数据模型:
- 一个数字,表示要由中继器创建的委托数量
- 模型(例如 ListModel 项或 QAbstractItemModel 子类)
- 一个字符串列表
- 对象列表
模型的类型会影响向委托公开的属性。
三、信号成员
1、itemAdded(int index, Item item)
当一个项目被添加到 Repeater 时会发出这个信号。
index 参数保存在 Repeater 中插入项的索引,item 参数保存已添加的项。
2、itemRemoved(int index, Item item)
当 item 从中继器中移除时,会发出此信号。index 参数保存从转发器中删除项的索引,而 item 参数保存删除的项。
如果 item 是由此转发器创建的,则不要保留对 item 的引用,因为在这些情况下,它会在处理信号后不久被删除。
四、成员函数
1、Item itemAt(index)
返回已在给定索引处创建的项,如果索引处不存在项,则返回 null。
QML类型:Repeater相关推荐
- ListElement QML类型
ListElement QML类型 ListElement QML类型 详细说明 引用角色 用法示例 ListElement QML类型 在ListModel中定义一个数据项. Import Stat ...
- Qt 从C ++定义QML类型(二)
前言 在上一篇文章中介绍了如何注册一个C++的可实例化的对象类型供 QML 中使用,那么今天继续之前的文章介绍. 正文 注册不可实例化类型 有时候QObject派生类可能需要在QML类型系统中注册,但 ...
- Qt 从C ++定义QML类型(一)
概述 前面几篇文章介绍了如何在 QML 中调用 C++ 属性,那么这里集中总结一下如何在 C++中定义 QML 类型,其实在之前的示例中已经有用到过的. 当用C ++代码扩展QML时,可以向QML类型 ...
- 从C ++定义QML类型
从C ++定义QML类型 从C ++定义QML类型 向QML类型系统注册C ++类型 注册可实例化对象类型 注册非实例类型 用单例类型注册单例对象 类型修订和版本 注册扩展对象 定义特定于QML的类型 ...
- ObjectModel QML类型
ObjectModel QML类型 ObjectModel QML类型 特性 附属物业 方法 详细说明 Property Documentation Attached Property Documen ...
- ListModel QML类型
ListModel QML类型 ListModel QML类型 特性 方法 详细说明 用法示例 修改列表模型 将线程列表模型与WorkerScript一起使用 Property Documentati ...
- DelegateModelGroup QML类型
DelegateModelGroup QML类型 DelegateModelGroup QML类型 特性 讯号 方法 详细说明 Property Documentation 计数:整数 include ...
- DelegateModel QML类型
DelegateModel QML类型 DelegateModel QML类型 Properties Attached Properties Methods 详细说明 Property Documen ...
- QtObject QML类型
QtObject QML类型 QtObject QML类型 特性 详细说明 Property Documentation objectName:字符串 QtObject QML类型 进口声明: 导入Q ...
- C ++定义QML类型
C ++定义QML类型 C ++定义QML类型 向QML类型系统注册C ++类型 注册可实例化对象类型 注册非实例类型 类型修订和版本 注册扩展对象 定义特定于QML的类型和属性 属性修改器类型 属性 ...
最新文章
- 给一个ul列表中点击到的li赋予样式
- CL_FXS_URL_DATA_FETCHER - a good utility to fetch picture binary data according to url
- baseresponse响应类_Java response响应体和文件下载实现原理
- linux怎么设置屏显示同步,linux设置同步时间
- 2005年计算机课程,2005年暑期非计算机专业计算机基础课程教学研讨会成功举办...
- NSRange类详解
- 所谓高手,就是把自己活成了贝叶斯定理
- JVM监控及诊断工具命令行篇之jstat
- x黑客X档案2006年07期
- plc顺序控制设计法是什么?
- cubemx配置时调试SYS显示警报
- 行为金融(二):行为金融的心理学基础
- 计算机图形学 :中点画圆法
- CS1703 C# Multiple assemblies with equivalent xxx... and. Remove one of the duplicate references.
- Python 中的 sequence 类型
- 圆满收官!OFweek 2019(第三届)物联网产业大会成功举办
- 计算n阶逆矩阵的C语言实现
- 二级C语言上机考试评分标准,浅谈二级C语言上机考试评分原理
- labelme标注结果可视化(持续补充)
- python utils模块怎么安装_安装python模块时报错如何解决