当前位置:首页 > 网络黑客 > 正文内容

qml中listview的嵌套(qt listview详细用法)

访客3年前 (2021-12-30)网络黑客639

前言

有时,链表的数据需要分组。例如使用首字母来划分联系人,或者分类音乐。使用链表视图可以把平面列表按类别划分。

如何分组?

为了使用分组,section.property与section.criteria必须设置。section.property定义了哪些属性用于内容的划分。在这里,最重要的是知道每一组的元素必须连续,否则相同的属性名可能出现在几个不同的地方。

section.criteria能够被设置为ViewSection.FullString或者
ViewSection.FirstCharacter。默认下使用之一个值,能够被用于模型中有清晰的分组,例如音乐专辑。第二个是使用一个属性的首字母来分组,这说明任何属性都可以被使用。通常的例子是用于联系人名单中的姓。

当组被定义好后,每个子项能够使用绑定属性ListView.section,ListView.previousSection与ListView.nextSection来访问。使用这些属性,可以检测组的之一个与最后一个子项。

使用ListView的section.delegate属性可以给组指定 *** 组件。它能够创建段标题,并且可以在任意子项之前插入这个段 *** 。使用绑定属性section可以访问当前段的名称。

下面这个例子使用国际分类展示了分组的一些概念。国籍作为section.property,组 *** 组件(section.delegate)使用每个国家作为标题。在每个组中,spacemen模型中的名字使用spaceManDelegate组件来 *** 显示。

import QtQuick 2.3 import QtQuick.Window 2.2

Window { id: root visible: true width: 480 height: 300 color: "white"

ListView { anchors.fill: parent anchors.margins: 20 clip: true model: spaceMen delegate: spaceManDelegate section.property: "nation" section.delegate: sectionDelegate }

Component { id: spaceManDelegate Item { width: 260 height: 20 Text { anchors.left: parent.left anchors.verticalCenter: parent.verticalCenter anchors.leftMargin: 10 font.pixelSize: 12 text: name } } }

Component { id: sectionDelegate Rectangle { width: 260 height: 20 color: "lightBlue" Text { anchors.left: parent.left anchors.verticalCenter: parent.verticalCenter anchors.leftMargin: 10 font.pixelSize: 12 font.bold: true text: section } } }

ListModel { id: spaceMen ListElement { name: "小赵"; nation: "中国" } ListElement { name: "小钱"; nation: "中国" } ListElement { name: "小孙"; nation: "中国" } ListElement { name: "小李"; nation: "中国" } ListElement { name: "Amy"; nation: "美国" } ListElement { name: "David"; nation: "美国" } ListElement { name: "Kim"; nation: "美国" } ListElement { name: "Helen"; nation: "俄罗斯" } ListElement { name: "Kate"; nation: "俄罗斯" } } }

运行效果如下:

如果同一组下的内容不联系,如下面的代码所示:

ListModel { id: spaceMen ListElement { name: "小赵"; nation: "中国" } ListElement { name: "小钱"; nation: "中国" } ListElement { name: "Amy"; nation: "美国" } ListElement { name: "Kim"; nation: "美国" } ListElement { name: "Helen"; nation: "俄罗斯" } ListElement { name: "Kate"; nation: "俄罗斯" } ListElement { name: "小孙"; nation: "中国" } ListElement { name: "小李"; nation: "中国" } ListElement { name: "David"; nation: "美国" } }

即会出现多个相同的属性名,运行效果如下:

扫描二维码推送至手机访问。

版权声明:本文由黑客技术发布,如需转载请注明出处。

本文链接:https://w-123.com/104102.html

“qml中listview的嵌套(qt listview详细用法)” 的相关文章

美将 Ronin 网络 6.25 亿美元加密货币被盗事件归咎于朝鲜黑客组织

据Vice的报道,美财政部将Ronin网络6.25亿美元加密货币被盗事件归咎于朝鲜黑客组织。据悉,该网络是支持Axie Infinity游戏的区块链。当地时间周四,财政部更新了制裁措施,其中包括收到资金的钱包地址并将其归于Lazarus集团。 开发商集团Sky Mavis拥有的Ronin网络在关于...

报道称 SafeGraph 正在出售访问堕胎诊所的人的位置数据

根据Motherboard购买的几组数据,一家定位数据公司正在出售与访问提供堕胎服务的诊所有关的信息,包括计划生育设施,显示访问这些地点的人群来自哪里,他们在那里停留了多长时间,以及他们随后去了哪里。 在泄露的最高法院意见草案中, Alito法官表示,法院准备废除罗伊诉韦德案的裁决,该案是数十年来为...

Clearview AI 被指违反澳大利亚隐私法 已收集至少 30 亿人面部数据

澳大利亚信息专员发现,Clearview AI 在许多方面违反了澳大利亚的隐私法。在此前的双边调查中发现,该公司的面部识别工具未经同意并以不公平的方式收集澳大利亚人的敏感信息。由澳大利亚信息专员办公室(OAIC)和英国信息专员办公室(ICO)进行的调查发现,Clearview AI 的面部识别工具不...

FBI 向托管 Cyclops Blink 恶意软件的僵尸网络服务器发起了行动

美国联邦调查局(FBI)透露,该机构于今年 3 月发起了针对 GRU 控制的大型僵尸网络的专项行动。在获得加利福尼亚和宾夕法尼亚两州法院的授权后,FBI 清理了存在于指挥和控制服务器(C2S)上的所谓 Cyclops Blink 恶意软件,从而切断了其与受感染设备的连接。 本周三,美国司法部披露了...

英国计划要求科技公司必须提供身份验证工具以应对匿名恶意用户

英国政府拟议中的一项措施将迫使科技公司开发工具,让用户过滤掉任何被认为 “合法但有害”的材料。这些新措施被添加到英国即将出台的《网络安全法案》中,该法案将强制要求数字平台承担起保护用户免受有害内容影响的责任。 根据英国政府周五宣布的新计划,Facebook、Google和Twitter等科技平...

电信运营商在黑客间谍活动中成为攻击目标

Hackernews 编译,转载请注明出处: 研究人员发现了一种新的针对中东和亚洲电信和 IT 服务提供商的间谍黑客活动。 这项攻击活动已经进行了六个月,操作者似乎与伊朗支持的攻击者 MERCURY (又名 MuddyWater,SeedWorm,或 TEMP.Zagros)有关。 这份报告来自...

评论列表

慵吋纯乏
3年前 (2022-06-10)

ListElement { name: "小赵"; nation: "中国" } ListElement { name: "小钱"; nation: "中国

怎忘栖迟
3年前 (2022-06-10)

"俄罗斯" } }}运行效果如下:如果同一组下的内容不联系,如下面的代码所示:ListModel { id: spaceMen L

夙世辙弃
3年前 (2022-06-10)

.property: "nation" section.delegate: sectionDelegate } Component { id: spaceManDelegate Item { w

边侣涴歌
3年前 (2022-06-10)

nation: "中国" } ListElement { name: "小钱"; nation: "中国" } ListElement

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。