Qt笔记07【M/V结构】

一、数据模型

         抽象类不能直接使用,需要子类继承来实现一些纯虚函数。Qt提供了一些模型类用于项数据处理,常见的几个类如下表所示:

序号Model类用途
1QStringListModel用于处理字符串列表数据的数据模型类
2QSortFilterProxyModel与其它数据模型结合,提供排序和过滤功能的数据模型类
3QSqlQueryModel用于数据库SQL查询结果的数据模型类
4QSalTableModel用于数据库的一个数据表的数据模型类
5QSalRelationalTableModel用于关系型数据表的数据模型类
6QStandardltemModel标准的基于项数据的数据模型类,每个项数据可以是任何数据类型
7QFileSystemModel计算机上文件系统的数据模型类

数据模型设置函数: 

//设置模型
void setModel(QAbstractltemModel *model)

 二、数据视图

        视图组件(View) 就是显示数据模型的数据的界面组件。

序号View类用途
1QListView用于显示单列的列表数护,适用于一维数据的操作
2QTableView用于显示表格状数据,这用于二维表格型数据的操作
3QTreeView用于显示树状结构数据,适用于树状结构数据的操作
4QColumnView用多个QListView显示树状层次结构,树状结构的一层用一个QListView显示
5QHeaderView提供行表头和列表头的视图组件,如QTableview的行表头和列表头

三、代理

代理相关概念

  1. 代理就是在视图组件上为编辑数据提供编辑器。
  2. 代理负责从数据模型获取相应的数据,然后显示在编辑器里,修改数据后,又将其保存到数据模型中。
  3. QAbstractltemDelegate是所有代理类的基类,作为抽象类,它不能直接使用。它的一个子类QStyledltemDelegate,是Qt的视图组件缺省使用的代理类。
  4. 对于一些特殊的数据编辑要求,可以从QStyledltemDelegate继承创建自定义代理类

 代理类:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值