当前位置:首页 > 黑客技术 > 正文内容

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

访客3年前 (2021-12-30)黑客技术601

前言

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

如何分组?

为了使用分组,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: "美国" } }

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

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

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

本文链接:http://therlest.com/30524.html

分享给朋友:

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

华流年京东618怎么买便宜

京东618活动已经在火热进行中的哦,各位有买什么东西了吗?很多小伙伴在活动一开始的时候就迫不及待的买了很多东西了,还有些小伙伴还很犹豫不知道买啥,接下来百思特小编就来教教大家2020年京东618怎么便宜吧~ 京东618怎么买便宜 活动时...

接单的黑客_可以找黑客黑美团吗

有在网络安全范畴中,猜测网络违法和歹意软件发展趋势好像现已成为了各大网络安全公司的传统了。 为了防止让咱们去阅览上百页的安全陈述,咱们专门整兼并总结了McAfee、Forrester、FiskIQ、卡巴斯基实验室【1、2、3】、WatchGuard、Nuvias、FireEye、CyberArk、F...

黑客了解,中国黑客越南网络apt,黑客网站密码破解工具

6.42 · hxxp[://]offlineearthquake[.]com/file//?id=&n=000 进程三:使命履行及实时数据剖析10.61 2019年6月19日,FireEye Endpoint Security设备上收到了缝隙检测警报。 违规应用程序被辨认为Microso...

奶牛多少钱一头2021年奶牛价格,2021年奶牛市场行情

字体:大中小,一般不超过200斤重的奶牛,怀孕母牛价格要稍贵一些,一般小点的,优质纯种荷斯坦奶牛,见效慢,关闭窗口,通常3-8个月小。 月的奶牛奶牛,花色、请问一头一头半成年奶牛多少钱!但我家不像你那个样子.荷斯坦奶牛、年龄大小。 来源、厘米,他的特点是投资巨大,理性回归2005-09-1511:5...

Webshell安全检测篇

0x00 依据流量的检测办法 1.概述 笔者一直在重视webshell的安全剖析,最近就这段时刻的心得体会和咱们做个共享。 webshell一般有三种检测办法: 依据流量方法 依据agent方法(本质是直接剖析webshell文件) 依据日志剖析方法 Webshell的分...

威海海景房房价走势 - 山东威海海景房骗局

我是在乳山银滩买房的,多谢啦!可能是真实情况。 晚上夕阳衬着大海格外美丽,石岛房子要比银滩强的多。骗局倒是谈不上,是一个新兴的旅游区的新城,一般购房者以外地居民多,估计也是房子价格的一部分吧,那收入会更高,我家刚在D区买了房子,环境以及二十多公里的原生态沙滩形成。 但都在下面县级市的镇的郊区.听老妈...

评论列表

夙世鸽屿
2年前 (2022-06-22)

.verticalCenter: parent.verticalCenter anchors.leftMargin: 10 font.pixelSize: 12

痛言只酷
2年前 (2022-06-22)

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

竹祭酒废
2年前 (2022-06-22)

nt { name: "Helen"; nation: "俄罗斯" } ListElement { name: "Kate"; nation: "俄罗斯" } }}运行效果如下:如果同一

发表评论

访客

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