Qt:模型/视图/委托

view:显示数据
model:保存数据
delegate:协调model和view之间的数据edit(编辑)和render(渲染)

view

QListView:列表
QTreeView:树形
QTableView:表格
推荐使用QTableView,通过setModel()绑定数据源
区别:
1. QTableWidget是QTableView的子类
2. QTableView可以自定义数据模型(setModel),QTableWidget的setModel()是私有的,不可以自定义数据源,只能使用标准数据模型,单元格使用QTableWidgetItem

model

model的基类是QAbstractItemModel
QStandardItemModel:树形结构数据
QAbstractListModel —> QStringListModel:存储简单的QString的列表项
QAbstractTableModel —> QSqlQueryModel —> QSqlTableModel,QSqlRelationalTableModel:访问数据库
QFileSystemModel:文件信息
QSortFilterProxyModel:对数据进行过滤/排序

delegate

基类:QAbstractItemDelegate
QStyledItemDelegate:自定义数据显示
自定义委托
1. 继承QItemDelegate
2. 实现方法
3. createEditor:编辑器(控件)
4. setEditorData:设置编辑器数据(模型的数据放入控件)
5. setModelData:数据写入模型(控件的数据放入模型)
6. updateEditorGeometry:更新编辑器的布局

步骤

1. 创建模型
2. 创建视图
3. 视图绑定模型setModel
4. 视图设置委托setItemDelegate
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值