一、MVC框架
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用于数据、业务逻辑,界面显示的分离。将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。其中的三个元素为:
- Model, 表示数据的模型
- View, 表示用户界面的视图
- Controller, 定义了用户在界面上的操作控制
二、Qt的MVC——InterView框架(MVD)
MVC框架类似,Qt引入了模型/视图结构用于完成数据与界面的分离,即InterView框架。但不同的是,Qt的InterView框架中把视图和控制部件结合在一起,使得框架更为简洁。为了灵活地处理用户输入,InterView框架引入了代理(Delegate)。通过使用代理,能够自定义数据条目(item)的显示和编辑方式。
MVD
Qt的模型/视图结构分为了三种部分:模型(Model)、视图(View)、代理(Delegate)。其中,模型与数据通信,并为了其它部件提供接口;而视图从模型中获得用来引用数据条目的模型索引(Model Index);在视图中,代理负责绘制数据条目,当编辑条目时,代理和模型直接进行通信。
通信机制:信号槽
模型/视图/代理之