• 5601阅读
  • 2回复

View是怎么判断Model的数据有没有变的? [复制链接]

上一主题 下一主题
离线spaceflyer
 
只看楼主 倒序阅读 楼主  发表于: 2008-12-25
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
我有一个程序,model内部所指向的数据变了以后,view的显示不刷新。即使我再view.setModel(xxx),view仍然不显示新的东西。最后我view.setModel(0); view.setModel(xxx)以后,view终于给我显示了。

这是为什么?model和view之间到底怎么交流的?我以为view很智能的会知道model什么时候变。
离线wvins
只看该作者 1楼 发表于: 2008-12-25
我不知道你的数据是怎么变得,
我改变了数据View立马就看到了。
-----------
如果你是增删数据的话,
要调用beginInsertRows和endInsertRows来让View知道你增加数据。
删除数据是相应的。
-----------
修改数据通过Model而不是直接操作原始数据也不会有问题。
离线spaceflyer
只看该作者 2楼 发表于: 2008-12-26
谢谢,不过这样一来,MODEL所管辖的数据自己也要和MODEL互相沟通,而不是单向的MODEL向这个数据沟通了,感觉有点不方便。不过感觉确实也没什么别的方法,MODEL毕竟不是神,呵呵。
快速回复
限100 字节
 
上一个 下一个