模型视图设计模式
模型视图设计模式的核心思想:
- 模型(数据)与视图(显示)相分离
- 模型对外提供标准接口存取数据
- 视图自定义数据的显示方式
工作机制:
- 当数据发生改变时
- 模型发出信号通知视图
- 当用户与视图进行交互时
- 视图发出信号提供交互信息
在Qt中,不管模型以什么结构组织数据,都必须为每一个数据提供独立无二的索引;视图通过索引访问模型中的具体数据
- 模型索引是数据与视图分离的重要机制
- 模型中的数据使用唯一的索引来访问
- QModelIndex是Qt中的模型索引类
索引的意义:
- 包含具体数据的访问途径
- 包含一个指向模型的指针
- 索引是访问模型中具体数据的约定方式
- 获取索引的通用形式为三元组(row, column, parent)
- 索引在需要时由模型实时创建
- 使用空索引作为父节点表示顶层数据元素
数据角色
- 模型中的数据在视图中的用途(显示方式)可能不同
- 模型必须为数据设置特定数据角色(数据属性)
- 数据角色用于提示视图数据的作用
小结:
- 模型中的数据有附加的角色属性
- 数据角色定义了数据显示的标准方式
- 数据角色用于提示视图数据的作用
- 视图可以自由解析或者忽略数据的角色信息