首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

两个模型使用同一个底层数据结构时,怎么同步两个模型的数据

2012-04-18 
两个模型使用同一个底层数据结构时,如何同步两个模型的数据?ModelA和ModelB用到同一个数据源,但是计算方式

两个模型使用同一个底层数据结构时,如何同步两个模型的数据?
ModelA和ModelB用到同一个数据源,但是计算方式不大一样。
ModelA使用setData修改底层数据的时候,ModelB如何知道相关项已经被修改并通知视图更新呢?

例如有个表有两个字段,name和type,ModelA用于提供原表数据,ModelB用于统计全表每种type的个数。

原始数据
name type
a Int
b Int
c Float

ModelA
name type
a Int
b Int
c Float

ModelB
type count
Int 2
Float 1

这里ModelA使用setData将第2行b的类型改为Float时,ModelB要将Int的个数更新为1,Float的个数更新为2。

[解决办法]
可不可以底层的数据用qobject封装下
然后模型对齐操作时都是基于signal-slot的

[解决办法]
模型A改变后向模型B发射一个自定义信号,模型B收到后进行处理,最后模型B发射dataChanged信号,通知视图进行更新。
[解决办法]
应该如楼上所说原理,就像win下的回调一样,你得调用一个函数或才发射一个信号告诉他已经改变了,当然你也可以轮询

热点排行