Qt模型视图框架:QListView
一、描述
QListView 将存储在模型中的项目呈现为简单的非分层列表或图标集合。此视图不显示水平或垂直标题。
QStandardItemModel * model = new QStandardItemModel;for(int i = 0; i < 11; ++i){QStandardItem *item = new QStandardItem(QString::number(i));model->appendRow(item);}QListView listView;listView.setModel(model);listView.show();
二、类型成员
1、enum QListView::Flow:项目布局流向方向。
- LeftToRight:项在视图中从左到右排列。如果 isWrapping 属性为 true,则布局将在到达可见区域的右侧时换行。
- TopToBottom:项在视图中从上到下排列。(默认)
2、enum QListView::LayoutMode:项目的布局是应该立即发生还是延迟发生。
- SinglePass:项目一次全部布局。
- Batched:项目按 batchSize属性进行批量布局。
3、enum QListView::Movement:如何在视图中移动项目
- Static:不能移动项目。(默认)
- Free:可以自由移动项目。
- Snap:移动时项目对齐到指定的网格。
4、enum QListView::ResizeMode:在调整视图大小时是否再次对项目进行布局。
- Fixed:只有在第一次显示视图时才会对项目进行布局。
- Adjust:每次调整视图大小时都会对项目进行布局。
5、enum QListView::ViewMode:视图模式
- ListMode:项目使用从上到下流布局,小尺寸,禁用拖放。
- IconMode:项目使用从左到右流布局,大尺寸,启用拖放。
三、属性成员
1、batchSize : int
如果 layoutMode 设置为Batched,则此属性保存每个批次中布局的项目数。默认值为 100。
2、gridSize : QSize
此属性是布置项目的网格的大小。默认为空尺寸,这意味着没有网格并且布局不在网格中完成。 将此属性设置为非空大小会打开网格布局。(当网格布局生效时,spacing属性将被忽略。)
3、isWrapping : bool
此属性保存当可见区域中没有更多空间时布局是否应换行。布局环绕的点取决于flow(QListView::Flow)属性。默认情况下,此属性为 false。
4、itemAlignment : Qt::Alignment
此属性保存其单元格中每个项目的对齐方式。这仅在具有 TopToBottom 流和 isWrapping 为true时受支持。默认为 0,即项目完全填充其单元格。
5、modelColumn : int
此属性保存模型中可见的列。
6、selectionRectVisible : bool
如果选择模式处于可以选择多个项目的模式,选择矩形是否可见。默为 false。(QAbstractItemView::SelectionMode)
7、spacing : int
此属性是在布局中的项目周围填充的空白空间的大小。默认为 0。
8、uniformItemSizes : bool
此属性保存列表视图中的所有项目是否具有相同的大小。默认为 false。
9、wordWrap : bool
如果此属性为true,则项目文本会在必要的断字处换行。默认为 false。
四、成员函数
1、[signal] void indexesMoved(const QModelIndexList &indexes)
指定的索引在视图中移动时会发出此信号。
2、void clearPropertyFlags()
清除设置的 QListView::ViewMode。
3、bool isRowHidden(int row)
某行是否已隐藏。
4、QRect rectForIndex(const QModelIndex &index)
返回模型中 index 位置项的矩形。
5、void setRowHidden(int row, bool hide)
设置某行隐藏或者显示。
Qt模型视图框架:QListView相关推荐
- Qt 模型视图框架解读之模型
Qt 模型视图框架 前后阅读的好几遍,要不是项目中需要处理一些相对比较多的数据,这部分内容估计不会去急着去理解. 首先来了解下什么是模型和视图框架吧: 一般地:MVC 设计模式包括三个元素: 表示数据 ...
- Qt 图形视图框架(Qt MVC)
什么是MVC MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离 ...
- Qt模型视图中的委托
文章目录 1 初探QT模型视图中的委托 2 自定义委托 3 深度解析视图与委托 3.1 实例1:自定义视图显示方式 3.2 实例2:自定义视图显示方式提升用户体验 1 初探QT模型视图中的委托 首先来 ...
- Qt 图形视图框架中的事件处理和传播
目录名字 Qt 图形视图框架中的事件处理和传播 要点: Qt 图形视图框架中的事件处理和传播 图形视图框架在一些动画类的应用程序上经常会用到.该框架中的事件处理与传播机制也是经常会涉及. 程序设计核心 ...
- Qt 模型视图编程之表头设置
背景 Qt 模型视图编程中模型定义了标准接口对数据进行访问,可根据需求继承对应的抽象模型类来实现自定义的数据模型.一个基本的数据模型至少要实现以下虚函数: ①.rowCount:行数,返回要显示多少行 ...
- Qt图形视图框架详解-安晓辉-专题视频课程
Qt图形视图框架详解-12227人已学习 课程介绍 介绍Qt中的Graphics View Framework,涉及View.Scene.Item的关系,如何自定义QGraphicsI ...
- Qt 模型视图编程的简单实例
导言: 当遇到一个相对复杂的项目软件的时候,处理的数据量相对较大,这时候从软件设计的角度,一般都会考虑运用模型视图的架构. Qt关于MVC编程组成部分: 大体上,模型.视图架构中众多类可以分为3组:模 ...
- QT学习笔记14(Qt模型视图结构)
一.基础知识 1.MVC设计模式:是一种与用户界面相关的设计模式,通过此模式,可以有效的分离数据和用户界面. MVC包括三个要素: 表示数据的模型(Model):应用程序的对象 表示用户界面的视图(V ...
- Qt图形视图框架图片图元QGraphicsPixmapItem
文章可能被更新,最新地址:http://www.fearlazy.com/index.php/post/107.html 看这个标题还真有点拗口,一句话里出现了四个图字.这句话的关键词是图片,前面讲了 ...
最新文章
- vue实用组件——页面公共头部
- 大用户规模互联网架构发展
- [ 浙江大学 程序设计专题 ] 四个专题代码 报告 PPT共享
- aspose.words for java操作文档doc,设置一级二级三级标题以及段落表格等详情
- xgboost与gbdt的区别
- C#中获取当前时间字符串给文件命名防止重复
- oracle中文乱码问题
- jzoj1471-Y【bitset,dp,状压】
- iOS开发——高级技术PassBook服务
- 微服务Spring Cloud Eureka 服务端-基本配置(eureka.server.xxx)
- 【笔记】Protues仿真STM32的实现过程
- 博图(博途)V14编译成功,但仿真无法弹出下载程序窗口/不弹框
- ffmpeg 转换flv压缩大小_ffmpeg 视频压缩 转换
- Improved Robustness to Open Set Inputs viaTempered Mixup
- HackingLab脚本关
- Windows10 快捷键
- Kubernetes CKA认证运维工程师笔记-Docker快速入门
- python写小说阅读器_手把手教你用Python制作简易小说阅读器
- Matplotlib饼图实例
- 什么是穿透式监管,需要投资者做什么?