文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Qt Model/View 概论(-)

Qt Model/View 概论(-)

时间:2010-11-25  来源:博水

在Qt中引入了一个MVC的变体---model/view结构。这个结构依然是把数据存储与数据表示进行了分离,它与MVC都基于同样的思想,但它更简单一些。这种分离使得在几个不同的view上显示同一个数据成为可能,也可以重新实现新的view,而不必改变底层的数据结构。为了更灵活的对用户输入进行处理,引入了delegate这个概念。它的好处是,数据项的渲染与编程可以进行定制。其具体工作机制如下图:

从上图可看出,Model直接读取数据,View可以直接显示数据,也可以显示经过Delegate处理后的数据。同时用户可以直接通过Delegate直接编辑数据通过model存入数据文件中。models,views,delegates之间通过信号,槽机制来进行通讯。

工作机制:

传统中View只用来负责数据显示,因此在view创建时并不需要model只有当其显示信息的时候才会用到model。model通过QAbstractItemMode提供统一的接口,view会调用model的index来获得一个indexmodel,然后再通过indexmodel来获得想要得到的data.

model负责从数据集里面选取合适的数据提供给View因此model可以充当数据的选择和过滤器,另一方面可以接收Delegate发回的信息更新数据集中的数据信息。

Deletegate是由View层通过各种signal或者event事件引发,实现数据的更改并通过Model写入数据集中。


相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载