一、描述

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相关推荐

  1. ListElement QML类型

    ListElement QML类型 ListElement QML类型 详细说明 引用角色 用法示例 ListElement QML类型 在ListModel中定义一个数据项. Import Stat ...

  2. Qt 从C ++定义QML类型(二)

    前言 在上一篇文章中介绍了如何注册一个C++的可实例化的对象类型供 QML 中使用,那么今天继续之前的文章介绍. 正文 注册不可实例化类型 有时候QObject派生类可能需要在QML类型系统中注册,但 ...

  3. Qt 从C ++定义QML类型(一)

    概述 前面几篇文章介绍了如何在 QML 中调用 C++ 属性,那么这里集中总结一下如何在 C++中定义 QML 类型,其实在之前的示例中已经有用到过的. 当用C ++代码扩展QML时,可以向QML类型 ...

  4. 从C ++定义QML类型

    从C ++定义QML类型 从C ++定义QML类型 向QML类型系统注册C ++类型 注册可实例化对象类型 注册非实例类型 用单例类型注册单例对象 类型修订和版本 注册扩展对象 定义特定于QML的类型 ...

  5. ObjectModel QML类型

    ObjectModel QML类型 ObjectModel QML类型 特性 附属物业 方法 详细说明 Property Documentation Attached Property Documen ...

  6. ListModel QML类型

    ListModel QML类型 ListModel QML类型 特性 方法 详细说明 用法示例 修改列表模型 将线程列表模型与WorkerScript一起使用 Property Documentati ...

  7. DelegateModelGroup QML类型

    DelegateModelGroup QML类型 DelegateModelGroup QML类型 特性 讯号 方法 详细说明 Property Documentation 计数:整数 include ...

  8. DelegateModel QML类型

    DelegateModel QML类型 DelegateModel QML类型 Properties Attached Properties Methods 详细说明 Property Documen ...

  9. QtObject QML类型

    QtObject QML类型 QtObject QML类型 特性 详细说明 Property Documentation objectName:字符串 QtObject QML类型 进口声明: 导入Q ...

  10. C ++定义QML类型

    C ++定义QML类型 C ++定义QML类型 向QML类型系统注册C ++类型 注册可实例化对象类型 注册非实例类型 类型修订和版本 注册扩展对象 定义特定于QML的类型和属性 属性修改器类型 属性 ...

最新文章

  1. 给一个ul列表中点击到的li赋予样式
  2. CL_FXS_URL_DATA_FETCHER - a good utility to fetch picture binary data according to url
  3. baseresponse响应类_Java response响应体和文件下载实现原理
  4. linux怎么设置屏显示同步,linux设置同步时间
  5. 2005年计算机课程,2005年暑期非计算机专业计算机基础课程教学研讨会成功举办...
  6. NSRange类详解
  7. 所谓高手,就是把自己活成了贝叶斯定理
  8. JVM监控及诊断工具命令行篇之jstat
  9. x黑客X档案2006年07期
  10. plc顺序控制设计法是什么?
  11. cubemx配置时调试SYS显示警报
  12. 行为金融(二):行为金融的心理学基础
  13. 计算机图形学 :中点画圆法
  14. CS1703 C# Multiple assemblies with equivalent xxx... and. Remove one of the duplicate references.
  15. Python 中的 sequence 类型
  16. 圆满收官!OFweek 2019(第三届)物联网产业大会成功举办
  17. 计算n阶逆矩阵的C语言实现
  18. 二级C语言上机考试评分标准,浅谈二级C语言上机考试评分原理
  19. labelme标注结果可视化(持续补充)
  20. python utils模块怎么安装_安装python模块时报错如何解决

热门文章

  1. 2019年20个最佳产品信息管理(PIM)软件(一)
  2. 利用Python获取最新的sci论文摘要信息并群发邮箱
  3. 华为--链路聚合原理与链路捆绑实验(含bond)
  4. SAP中计量单位有关的表
  5. 【项目管理】项目选择与项目章程
  6. 关系模式分解为BCNF,分解过程中关系依赖集为空集问题,欢迎大家解答
  7. Qt跨平台框架在金融领域必然性
  8. 50W闭环控制Boost DC-DC变换器样机设计
  9. np.histogram()直方图分布
  10. 微信小程序入门踩坑记(妥妥的干货,新手快快看过来)