Qt应用开发(基础篇)——列表视图 QListView
一、前言
QListView类继承于QAbstractItemView类,提供了一个列表或者图标视图的模型。
视图基类 QAbstractItemView

QListView效果相当于Windows文件夹右键->查看->图标和列表,使用setViewMode()设置视图模式,并且提供setIconSize()函数设置图标模型下的项大小,显示大图标或者小图标。


QListView不显示标题,如果需要显示标题,使用QTreeView,不显示子节点,只显示一列,效果也是和QListView一样的。
二、QListView类
1、属性
1)batchSize
如果layoutMode设置为Batched,则此属性保存每个批次中布局的项目数量,默认为100。
int batchSize() const
void setBatchSize(int batchSize)
2)layoutMode
该属性表示项的布局模式,确定项的布局是立即进行还是延迟进行。
当模式是SinglePass(默认)时,所有的项目都是一次性布置的。
当模式为Batched时,在处理事件时,项目以batchSize数量批次进行布局。这使得它可以即时查看和交互可见的项目,而其余的是布局。
QListView::LayoutMode layoutMode() const
void setLayoutMode(QListView::LayoutMode mode)
enum LayoutMode 描述 QListView::SinglePass 直接展示 QListView::Batched 根据batchSize进行布局展示
3)flow
该属性表示列表的布局方向,默认为TopToBottom从上到下布局。
QListView::Flow flow() const
void setFlow(QListView::Flow flow)
enum QListView::Flow 描述 QListView::LeftToRight 项目从左到右排列 QListView::TopToBottom 项目从上到下排列


4)gridSize
该属性表示布局网格的大小,默认为没设置,没有网格,设置之后将打开网格布局,可以由此功能来调整项之间的间距。
QSize gridSize() const
void setGridSize(const QSize &size)
5)isWrapping
该属性表示当可见区域中没有更多空间时,项目布局是否换行,默认不换行。布局换行的位置取决于flow属性。
bool isWrapping() const
void setWrapping(bool enable)
6)itemAlignment
该属性表示每一项在它的单元格内的对齐方式。
Qt::Alignment itemAlignment() const
void setItemAlignment(Qt::Alignment alignment)
7)modelColumn
该属性表示模型中可见的列,默认情况该属性为0,表示将显示模型中的第一列。
int modelColumn() const
void setModelColumn(int column)
8)movement
该属性表示列表中的项的移动策略,默认为不可移动。
QListView::Movement movement() const
void setMovement(QListView::Movement movement)
enum QListView::Movement 描述 QListView::Static 项目不能被用户移动 QListView::Free 项目可以被用户自由移动 QListView::Snap 项目移动时需要和网格对齐,固定在网格上
9)resizeMode
该属性表示当列表调整大小的时候是否自动调整布局,默认不调整。
QListView::ResizeMode resizeMode() const
void setResizeMode(QListView::ResizeMode mode)
enum QListView::ResizeMode 描述 QListView::Fixed 第一次显示的时候布局 QListView::Adjust 每次调整大小的时候都会重新布局
10)selectionRectVisible
该属性表示选择矩形是否可视,默认为false。
只有当选择模式为可选择多个项目的模式时,选择矩形才会显示,所以需要设置SelectionMode(父类属性)不为QAbstractItemView::SingleSelection。
bool isSelectionRectVisible() const
void setSelectionRectVisible(bool show)
11)space
该属性布局中项周围的空间的大小,默认为0。
int spacing() const
void setSpacing(int space)
12)uniformItemSizes
该属性表示listview中是否全部的项都使用同样的尺寸,默认为false。
bool uniformItemSizes() const
void setUniformItemSizes(bool enable)
13)viewMode
该属性表示listview中显示的策略。
QListView::ViewMode viewMode() const
void setViewMode(QListView::ViewMode mode)
enum QListView::ViewMode 描述 QListView::ListMode 列表模式 QListView::IconMode 图标模式
14)wordWrap
该属性表示列表中是否文本换行,默认为不换行false。如果此属性为true,则项目文本在必要的换行处换行。
这里要注意就算换行了,也不会展开单元格来为文本腾出空间。需要设置textElideMode(父类属性)来设置是否为不显示的文本显示“...”。
bool wordWrap() const
void setWordWrap(bool on)
2、公共方法
1)clearPropertyFlags
清除listview特殊的标识。
void clearPropertyFlags()
2)isRowHidden
返回索引下的行是否隐藏。
bool isRowHidden(int row) const
3、信号
1)indexesMoved
当指定的索引在视图中移动时发出此信号。
void indexesMoved(const QModelIndexList &indexes)相关文章:
Qt应用开发(基础篇)——列表视图 QListView
一、前言 QListView类继承于QAbstractItemView类,提供了一个列表或者图标视图的模型。 视图基类 QAbstractItemView QListView效果相当于Windows文件夹右键->查看->图标和列表,使用setViewMode()设置视图模式,并且提供setIconSize()函数…...
vue-6
一、声明式导航-导航链接 1.需求 实现导航高亮效果 如果使用a标签进行跳转的话,需要给当前跳转的导航加样式,同时要移除上一个a标签的样式,太麻烦!!! 2.解决方案 vue-router 提供了一个全局组件 router…...
温度在线检测技术在电力电缆线路的应用
在电力电缆的日常运行检测中,针对电缆温度的状况,所采用的电力温度在线检测技术也得到了大范围的普及。电网系统中,其单位时间内可输送的电力能源受到其温度的变化影响。因此,采用更有效的方式实时检测电缆系统运行温度࿰…...
2023年中国自动化微生物样本处理系统竞争现状及行业市场规模分析[图]
微生物检测能够对感染性疾病的病原体或者代谢物进行检测分析,是IVD的细分领域之一。2022年中国体外诊断市场规模1424亿元。 2015-2022年中国体外诊断市场规模 资料来源:共研产业咨询(共研网) 微生物检测由于样本类型多样…...
硬链接和软连接的区别
软链接(也称为软连接或符号链接)是一种特殊的文件,其内容是另一个文件的路径。当你使用软链接时,实际上是在操作另一个文件。软链接的优点是它可以跨文件系统使用,因此可以跨分区或磁盘链接文件。此外,软链…...
保护隐私与增强网络安全之网络代理技术
目录 前言 一、网络代理技术原理 二、网络代理技术类型 1. HTTP代理 2. SOCKS代理 3. DNS代理 4. 加密代理 5. 反向代理 三、网络代理技术应用 1. 加速网络访问速度 2. 绕过网络限制 3. 保护个人隐私 4. 节省带宽 5. 改善网络安全 四、网络代理技术优缺点 网络…...
【每日一题】CF1680C. Binary String | 双指针 | 简单
题目内容 原题链接 给定一个长度为 n n n 的 01 01 01 字符串,对于一个子串 s u b sub sub ,子串内部的 0 0 0 的数量为 x x x ,子串以外的 1 1 1 的数量为 y y y ,子串的代价为 m a x ( x , y ) max(x, y) max(x,y) &…...
10.selenium进阶
文章目录 1、嵌套网页1、1 什么是嵌套页面1、2 selenium获取嵌套页面的数据 2、执行JavaScript代码3、鼠标动作链4、selenium键盘事件5、其他方法5、1 选择下拉框5、2 弹窗的处理 6、selenium设置无头模式7、selenium应对检测小结 1、嵌套网页 在前端开发中如果有这么一个需…...
【安全】 Java 过滤器 解决存储型xss攻击问题
文章目录 XSS简介什么是XSS?分类反射型存储型 XSS(cross site script)跨站脚本攻击攻击场景解决方案 XSS简介 跨站脚本( cross site script )为了避免与样式css(Cascading Style Sheets层叠样式表)混淆,所以简称为XSS。 XSS是一种经常出现在web应用中的计算机安全…...
一、Excel VBA 是个啥?
Excel VBA 从入门到出门一、Excel VBA 是个啥?二、Excel VBA 简单使用 👋Excel VBA 是个啥? ⚽️1. Excel 中的 VBA 是什么?⚽️2. 为什么 VBA 很重要?⚽️3. 是否有无代码方法可以在 Excel 中实现工作流程自动化&…...
Spring Boot读取配置文件
Spring Boot 是一种用于快速构建基于Spring的应用程序的框架,它提供了很多便利的功能和约定,使开发者可以快速搭建、配置和部署应用程序。在Spring Boot中,读取配置文件是一个非常常见的任务,本文将介绍如何在Spring Boot应用程序…...
spark集群环境下,实现人口平均年龄计算
文章目录 任务目标0. 版本信息1. 计算生成renkou.txt2. 文件上传至spark3. 上传文件时,可能出现的常见错误4. 编写spark文件5. 上传集群6. 集群环境下提交任务 任务目标 在虚拟机上部署spark集群,给定renkou.txt文件,输出平均年龄 renkou.t…...
[羊城杯 2020]black cat - 文件隐写+RCE(hash_hmac绕过)
[羊城杯 2020]black cat 1 解题流程1.1 第一步1.2 第二步1.3 第三步 1 解题流程 1.1 第一步 打开网站有首歌,按F12也是提示听歌,ctf-wscan扫描就flag.php下载歌,用010打开,发现有一段内容if(empty($_POST[Black-Cat-Sheriff]) |…...
智能文件管理助手,轻松实现按数量平均分类文件,高效整理新文件夹!
在我们的电脑或移动设备中,文件管理是我们日常工作和生活中不可或缺的一部分。有时候,我们可能需要将一个文件夹中的大量文件按照数量平均分配到多个新的文件夹中,以便更好地进行整理和管理。现在,我们为您提供了一款智能文件管理…...
安卓 Android 终端接入阿里云 IoT 物联网平台
在全球智能手机市场里,谷歌开发的安卓(Android)移动操作系统市场占有率已经高达90%。随着物联网智能硬件升级,安卓(Android)也逐渐成为智能摄像头,智能对讲门禁,人脸识别闸机,智能电视,智能广告屏等带屏 Io…...
2023自动化测试面试题(含答案)
1、你做了几年的测试、自动化测试,说一下 selenium 的原理是什么? 我做了五年的测试,1年的自动化测试; selenium 它是用 http 协议来连接 webdriver ,客户端可以使用 Java 或者 Python 各种编程语言来实现࿱…...
使用 Apache Camel 和 Quarkus 的微服务(一)
【squids.cn】 全网zui低价RDS,免费的迁移工具DBMotion、数据库备份工具DBTwin、SQL开发工具等 Apache Camel 绝非Java企业技术栈领域的新手。它由James Strachan在2007年创建,旨在实现著名的 "EIP 书"(由Gregor Hohpe和Bobby W…...
如何通过高级流量管理提高 Kubernetes 的弹性
原文作者:Jenn Gile - F5 NGINX 产品营销经理 原文链接:如何通过高级流量管理提高 Kubernetes 的弹性 转载来源:NGINX 中文官网 NGINX 唯一中文官方社区 ,尽在 nginx.org.cn 编者按 —— 本文是以下系列博文中的一篇(…...
解决Springboot集成RabbitMQ不自动生成队列的问题
1.RabbitMQ消息的消费端服务 RabbitMQ懒加载模式, 需要配置消费者监听才会创建 RabbitListener(queues "test.queue")另外一种方式(若Mq中无相应名称的队列,会自动创建Queue),改为如下 RabbitListener(queuesToDeclare { Queue(value "test.queu…...
【数据结构】Decreasing String—CF1886C
Decreasing String—CF1886C 代码我现在还不是很理解,群友说是单调栈。 C o d e Code Code #include <bits/stdc.h> #define int long long #define sz(a) ((int)a.size()) #define all(a) a.begin(), a.end() using namespace std; using PII pair<int…...
我国网络安全行业前景如何?是否可以入行?有哪些岗位?
我国网络安全行业前景如何?是否可以入行?有哪些岗位? 网络空间安全专业简称“网络安全专业”,主要以信息构建的各种空间领域为主要研究对象,包括网络空间的组成、形态、安全、管理等。我国网络空间安全专业于2015年设立…...
3步解锁:让老旧电脑流畅运行Windows 11的终极精简方案
3步解锁:让老旧电脑流畅运行Windows 11的终极精简方案 【免费下载链接】tiny11builder Scripts to build a trimmed-down Windows 11 image. 项目地址: https://gitcode.com/GitHub_Trending/ti/tiny11builder 在数字时代,系统性能直接影响工作效…...
Bypass Paywalls Clean 3大突破策略:2024浏览器扩展技术指南
Bypass Paywalls Clean 3大突破策略:2024浏览器扩展技术指南 【免费下载链接】bypass-paywalls-chrome-clean 项目地址: https://gitcode.com/GitHub_Trending/by/bypass-paywalls-chrome-clean 当你在撰写行业分析报告时,是否曾因关键数据被付费…...
老旧设备系统升级技术解析:4步实战指南让旧Mac焕发新生
老旧设备系统升级技术解析:4步实战指南让旧Mac焕发新生 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 老旧Mac设备升级macOS系统是许多用户面临的技术难题&am…...
10大好用的班组建设系统盘点!助力企业高效开展班组建设
在2026年数字化转型的深水区,班组建设系统已成为企业夯实基层管理、提升执行力的核心引擎。面对市场上琳琅满目的工具,如何筛选出真正好用的班组建设系统,切实助力企业高效开展班组建设,是管理者面临的首要难题。本文深度盘点10大…...
Qwen2.5-VL-7B-Instruct部署案例:律所合同图像关键条款高亮+法律依据自动关联
Qwen2.5-VL-7B-Instruct部署案例:律所合同图像关键条款高亮法律依据自动关联 1. 这不是普通OCR,是懂法的视觉助手 你有没有遇到过这样的场景:律所助理收到客户发来的扫描版PDF合同,需要在30分钟内标出违约责任、管辖法院、保密义…...
夏中谱加盟无界动力,助力具身智能发展
夏中谱入职无界动力,担重任开启新征程今日,无界动力宣布夏中谱正式加入,担任联合创始人兼联席CTO。这一任命使他全面负责基于世界模型的原生具身智能多模态大模型研发,以及数据闭环、云端仿真等核心技术基础设施的持续建设与升级。…...
你的电机仿真结果靠谱吗?聊聊Maxwell瞬态分析里那些容易被忽略的‘坑’
电机仿真精度提升指南:Maxwell瞬态分析中的关键细节与验证方法 当你在凌晨三点盯着屏幕上那条波动异常的转矩曲线时,是否曾怀疑过自己的仿真模型在说谎?作为从业十五年的电磁仿真专家,我见过太多工程师在项目验收前夜才发现仿真结…...
异构数据库迁移利器:dbswitch实现多源数据高效同步
1. 异构数据库迁移的痛点与常见方案 第一次接触异构数据库迁移时,我被各种工具搞得晕头转向。当时公司需要把Oracle的业务数据同步到Greenplum做分析,试了好几种方案都不太理想。比如用kettle配置gpload,光是理解那些参数就花了两天时间&…...
别再让运动模糊毁了你的检测!一文搞懂工业相机飞拍里的CMOS传感器与快门速度怎么配
工业相机飞拍实战:CMOS传感器与快门速度的黄金搭配法则 在一条每分钟处理300个瓶盖的高速灌装线上,质检员小王发现相机拍摄的字符总是出现拖影——这已经是本周第三次因图像模糊导致误检停线了。类似场景每天都在全球数以万计的自动化产线上演࿰…...
