模型视图设计模式

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

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

工作机制:

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

在Qt中,不管模型以什么结构组织数据,都必须为每一个数据提供独立无二的索引;视图通过索引访问模型中的具体数据
这里写图片描述

这里写图片描述

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

索引的意义:

  • 包含具体数据的访问途径
  • 包含一个指向模型的指针
    这里写图片描述

这里写图片描述

这里写图片描述

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

数据角色

  • 模型中的数据在视图中的用途(显示方式)可能不同
  • 模型必须为数据设置特定数据角色(数据属性)
  • 数据角色用于提示视图数据的作用
    这里写图片描述

这里写图片描述

小结:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值