(一) Qt Model/View 的简单说明
(一) Qt Model/View 的简单说明 、预定义模型
(四)Qt实现自定义模型基于QAbstractTableModel
(五)Qt实现自定义模型基于QAbstractItemModel
(一)使用Qt Model/View的好处
1、利用 Qt 的模型 / 视图架构,我们可以只从模型中获取实际在视图中显示所需要的数据。这样在处理非常大的数据集的时候,可以更加快速,而不至于降低性能。通过把一个模型注册到两个或多个视图,就可以让用户使用不同的方式查看数据以及和数据交互。 Qt 对于多个视图会自动保持同步,从而使对一个视图的改变会影响到全部视图。
2、模型 / 视图架构的另外一个好处是:如果决定改变底层数据集的存储方式,只需要修改模型,而视图仍能够继续正常工作。

(二)预定义模型
为了充分使用Qt 模型 / 视图的好处,我们不想再采取 Qt 以前版本中的项视图简便类 QListWidget、QTableWidget、 QTreeWidget。它们需要读取要被设置到一个项视图窗口部件中的所有数据、使用项对象呈现数据元素并且回写数据源。
Qt4使用预定义模型 划线的是Qt4.7 中已经不再推介的 Model 类

|
QStringListModel |
用于存储简单的字符串列表。 |
|
QStandardItemModel |
存储任意的分层次的数据,管理复杂的树型结构数据项,每项都可以包含任意数据。 |
|
QDirModel(最新版已经用QfileSystemModel代替这个类了) |
封装本地文件系统 |
|
QSqlQueryModel |
封装一个SQL数据集 |
|
QSqlTableModel |
封装一个SQL表 |
|
QSqlRelationTableModel |
利用外键封装一个SQL表 |
|
QSortFileterProxyModel |
排序和/或筛选另一个模型 |
|
假如这些标准Model不满足你的需要,你应该子类化QAbstractItemModel,QAbstractListModel或是QAbstractTableModel来定制。 |
(三)视图
Qt中视图类的继承关系如下图

(三)委托Delegate
Qt中委托的继承关系见下图

转自:http://qimo601.iteye.com/blog/1534309
(一) Qt Model/View 的简单说明的更多相关文章
- Qt Model/View 的简单说明
目录: (一) Qt Model/View 的简单说明 .预定义模型 (二)使用预定义模型 QstringListModel例子 (三)使用预定义模型QDirModel的例子 (四)Qt实现自定义模型 ...
- Qt Model/View(官方翻译,图文并茂)
http://doc.trolltech.com/main-snapshot/model-view-programming.html 介绍 Qt 4推出了一组新的item view类,它们使用mode ...
- (转)Qt Model/View 学习笔记 (七)——Delegate类
Qt Model/View 学习笔记 (七) Delegate 类 概念 与MVC模式不同,model/view结构没有用于与用户交互的完全独立的组件.一般来讲, view负责把数据展示 给用户,也 ...
- (转)Qt Model/View 学习笔记 (五)——View 类
Qt Model/View 学习笔记 (五) View 类 概念 在model/view架构中,view从model中获得数据项然后显示给用户.数据显示的方式不必与model提供的表示方式相同,可以与 ...
- (转)Qt Model/View 学习笔记 (二)——Qt Model/View模式举例
Qt Model/View模式举例 Qt提供了两个标准的models:QStandardItemModel和QDirModel.QStandardItemModel是一个多用途的model,可用于表示 ...
- (转)Qt Model/View 学习笔记 (一)——Qt Model/View模式简介
Qt Model/View模式简介 Qt 4推出了一组新的item view类,它们使用model/view结构来管理数据与表示层的关系.这种结构带来的 功能上的分离给了开发人员更大的弹性来定制数据项 ...
- qt model/view/delegate
Qt Model/View理解(一)---构造model https://blog.csdn.net/weixin_42303052/article/details/89233887 Qt Model ...
- (转)Qt Model/View 学习笔记 (四)——创建新的Models
创建新的Models 介绍 model/view组件之间功能的分离,允许创建model利用现成的views.这也可以使用标准的功能 图形用户接口组件像QListView,QTableView和QTre ...
- (转)Qt Model/View 学习笔记 (三)——Model类
Model类 基本概念 在model/view构架中,model为view和delegates使用数据提供了标准接口.在Qt中,标准接口QAbstractItemModel类中被定义.不管数据在底层以 ...
随机推荐
- 转:http协议学习
协议详解篇 2.1 HTTP/1.0和HTTP/1.1的比较 RFC 1945定义了HTTP/1.0版本,RFC 2616定义了HTTP/1.1版本. 笔者在blog上提供了这两个RFC中文版的下载地 ...
- PO_标准采购流程请购采购接受入库(流程)
2014-06-03 Created By BaoXinjian
- 浅析I/O模型
以下是本文的目录大纲: 一.什么是同步?什么是异步? 二.什么是阻塞?什么是非阻塞? 三.什么是阻塞IO?什么是非阻塞IO? 四.什么是同步IO?什么是异步IO? 五.五种IO模型 六.两种高性能IO ...
- C#--类成员
数据成员: 字段: 常量: 函数成员(执行代码): 方法: 属性 构造函数 析构函数 运算符 索引 事件 可以被声明为Static的类成员是:
- mysql-5.7 saving and restore buffer pool state 详解
一.mysql 重启要面临的问题: 由于重启后之前innodb buffer pool中缓存的数据就都没有了,如果这个时候业务SQL来临,mysql就只能是从磁盘中 读取数据到内存:可能要经过数个小时 ...
- 分享九:php易混淆的语法
一:php后期静态绑定 从php5.3开始,php增加了一个叫后期绑定的功能,用于在继承范围内引用静态调用的类 该功能从语言内部角度考虑北命名为“后期静态绑定”:“后期绑定”意思说:static::不 ...
- [hihoCoder] #1055 : 刷油漆
时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 上回说到,小Ho有着一棵灰常好玩的树玩具!这棵树玩具是由N个小球和N-1根木棍拼凑而成,这N个小球都被小Ho标上了不同的数 ...
- 【Javascript】Javascript横向/纵向合并单元格TD
> 需求是这样滴(>_<) 在报表系统中,涉及“HTML的TD单元格的合并”恐怕为数不少. 比如,从DB查得数据并经过后台的整理后,可能是这样的: Table1 JOB TO ...
- angularjs获取元素以及angular.element()用法
addClass()-为每个匹配的元素添加指定的样式类名 after()-在匹配元素集合中的每个元素后面插入参数所指定的内容,作为其兄弟节点 append()-在每个匹配元素里面的末尾处插入参数内容 ...
- Loadrunner监控windows系统“找不到网络路径”问题解决
一.监控windows系统: 1.监视连接前的准备工作 1)进入被监视windows系统,开启以下二个服务Remote Procedure Call(RPC) 和Remote Registry Ser ...