Qt 第56课、模型视图设计模式(中)
- 模型视图设计模式
— 模型定义标准接口(成员函数)对数据进行访问
— 视图通过标准接口获取数据并定义显示方式
— 模型使用信号与槽的机制通知视图数据变化
— 模型的数据都是以层次结构表示的 - 模型中的索引:
— 模型索引是数据与视图分离的重要机制
— 模型中的数据使用唯一的索引来访问
— 索引是访问模型中具体数据的约定方式
— QModelIndex 是 Qt 中的模型索引类:
包含具体数据的访问途径
包含一个指向模型的指针 - 索引的意义:
- 索引中的行和列:
线性模型可以使用(row,column)作为数据索引
问题:只用行和列描述数据索引是否足够通用?
思考:如何索引以树形结构组织的数据?
- 模型中的通用树形结构:
- 模型中数据索引的通用方式:
三元组:(row、column、parent)
小结:
- 索引是访问模型中具体数据的约定方式
- 获取索引的通过形式为三元组(row、column、parent)
- 索引在需要时由模型实时创建
- 使用空索引作为父节点表示顶层数据元素
- 特殊的模型可以自定义特殊的索引获取方式