模型视图设计模式

模型视图设计模式的核心思想:

  • 模型(数据)与视图(显示)相分离
  • 模型对外提供标准接口存取数据
  • 视图自定义数据的显示方式

工作机制:

  • 当数据发生改变时
    • 模型发出信号通知视图
  • 当用户与视图进行交互时
    • 视图发出信号提供交互信息

在Qt中,不管模型以什么结构组织数据,都必须为每一个数据提供独立无二的索引;视图通过索引访问模型中的具体数据
模型视图设计模式_第1张图片

模型视图设计模式_第2张图片

  • 模型索引是数据与视图分离的重要机制
  • 模型中的数据使用唯一的索引来访问
  • QModelIndex是Qt中的模型索引类

索引的意义:

  • 包含具体数据的访问途径
  • 包含一个指向模型的指针
    模型视图设计模式_第3张图片

模型视图设计模式_第4张图片

模型视图设计模式_第5张图片

  • 索引是访问模型中具体数据的约定方式
  • 获取索引的通用形式为三元组(row, column, parent)
  • 索引在需要时由模型实时创建
  • 使用空索引作为父节点表示顶层数据元素

数据角色

  • 模型中的数据在视图中的用途(显示方式)可能不同
  • 模型必须为数据设置特定数据角色(数据属性)
  • 数据角色用于提示视图数据的作用
    模型视图设计模式_第6张图片

模型视图设计模式_第7张图片

小结:

  • 模型中的数据有附加的角色属性
  • 数据角色定义了数据显示的标准方式
  • 数据角色用于提示视图数据的作用
  • 视图可以自由解析或者忽略数据的角色信息

你可能感兴趣的:(Qt--常用类)