电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

Qt_Model_View_学习笔记VIP免费

Qt_Model_View_学习笔记_第1页
1/22
Qt_Model_View_学习笔记_第2页
2/22
Qt_Model_View_学习笔记_第3页
3/22
Qt Model/View 学习笔记 介绍 Qt 4 推出了一组新的item view 类,它们使用model/view 结构来管理数据与表示层的关系。这种结构带来的功能上的分离给了开发人员更大的弹性来定制数据项的表示,它也提供一个标准的model 接口,使得更多的数据源可以被这些item view 使用。这里对model/view 的结构进行了描述,结构中的每个组件都进行了解释,给出了一些例子说明了提供的这些类如何使用。 Model/View 结构 Model-View-Controller(MVC), 是从Smalltalk 发展而来的一种设计模式,常被用于构建用户界面。经典设计模式的著作中有这样的描述: MVC 由三种对象组成。Model是应用程序对象,View是它的屏幕表示,Controller定义了用户界面如何对用户输入进行响应。在MVC 之前,用户界面设计倾向于三者揉合在一起,MVC 对它们进行了解耦,提高了灵活性与重用性。 假如把view 与 controller 结合在一起,结果就是model/view 结构。这个结构依然是把数据存储与数据表示进行了分离,它与MVC 都基于同样的思想,但它更简单一些。这种分离使得在几个不同的view 上显示同一个数据成为可能,也可以重新实现新的view,而不必改变底层的数据结构。为了更灵活的对用户输入进行处理,引入了delegate 这个概念。它的好处是,数据项的渲染与编程可以进行定制。 如上图所示,model 与数据源通讯,并提供接口给结构中的别的组件使用。通讯的性质依赖于数据源的种类 与 model 实现的方式。view 从 model 获取model indexes,后者是数据项的引用。通过把model indexes 提供给model,view 可以从数据源中获取数据。 在标准的views 中, delegate 会对数据项进行渲染,当某个数据项被选中时,delegate 通过model indexes 与 model 直接进行交流。总的来说,model/view 相关类可以被分成上面所提到的三组:models,views,delegates。 这些组件通过抽象类来定义,它们提供了共同的接口,在某些情况下,还提供了缺省的实现。抽象类意味着需要子类化以提供完整的其他组件希望的功能。这也允许实现定制的组件。models,views,delegates 之间通过信号,槽机制来进行通讯: 从 model 发出的信号通知view 数据源中的数据发生了改变。 从 view 发出的信号提供了有关被显示的数据项与用户交互的信息。 从 delegate 发生的信号被用于在编辑时通知model 和 view 关于当前编辑器的状态信息。 Models 所有的item models 都基...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

Qt_Model_View_学习笔记

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部