Qt的模型/视图编程方法(model/view programming)

由于最近做的一个程序需要用一个视图显示所定义的数据,翻了下Qt的widget,有QTreeWidget,QTableWidget,QListWidget。但是这些widget内部包含了存储这些数据的container,也就是说用户产生的数据为了能够以列表或者树目录的形式显示出来,必须将其拷贝一份。这就造成了数据的冗余,对于数据不是很多的情况牺牲一点点空间也无妨,但是对于数据库等大型数据来讲,这便是无法原谅的了。

翻了翻Qt 的帮助文档,Qt提供了一个框架完美得解决了这个问题:Model/View Programming。这种方法采用了将视图和数据分离的策略,视图只负责显示,不提供数据存储,而model中存储了自定义的数据,这样仅一份数据可以在多个视图中显示。这个思想类似于C++中容器和算法,一个存储数据,一个使用数据,它们之间的接口就是遍历器。

本文算是学习笔记,网上的帮助文档加上自己实践花了1个多星期,在此总结一下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值