网站大量收购独家精品文档,联系QQ:2885784924

(QT学习心得.docVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(QT学习心得

关系类 1.QGraphicsscene ,QGraphicsItem ,QGraphicsView 制作动画:QGraphicsItemAnimation和QTimeLine或QSlider QGraphicsItem 和QTimer 变换可以用QMatrix 文件处理类: QFile QFileDialog QTextStream QStringList 模型/视图编程介绍 ? Qt 4引入了一系列基于模型/视图构架的类,用于管理数据及其呈现之间的关系。由这个构架带来的功能的分离能够使得开发者更加灵活地自定义数据的呈现方式。Qt也提供了一些标准的接口,能够使大部分数据可以用已有的视图来显示。在帮助文档中主要介绍了这些模块的大概,基本概念和基本函数的用法。给出了每一个部件的用法,也提供了一些例子。 模型/视图构架 模型-视图-控制器(MVC)是一个基本的设计模式。这种设计模式定义了3个部件。模型即应用实体,视图就是屏幕呈现,控制器定义了用户接口和对用户输入的反馈。在MVC之前,用户界面的设计将这些模块糅合到了一起。MVC从功能上将3个部件分开,从而提供了更多的灵活性和复用性。 如果讲视图和控制器结合到一起,结果就是模型/视图构架。这种构架仍然将数据的存储和用户的呈现分开,能够使同一数据用不同的视图来显示,而不用改变内在的数据结构。为了能够灵活把握用户输入,Qt引入了代理(delegate)的概念。代理能够在视图中灵活定义用户将用哪种方式输入数值,是用LineEdit直接输入,还是用ComboBox选择,还是用SpinBox调节。? 模型与数据源想关联,并且提供了接口供构架中的其他模块访问数据,至于如何访问数据,决定于数据的类型和模块是如何实现与数据的相关的。视图从模型中获得数据的索引(index,专有类QModelIndex),这些索引是对数据的引用。在视图中,当数据元素需要编辑时,代理便负责提供编辑的接口,代理直接与模型通信,并使用模型提供的索引。 模型,视图和代理通过信号(signals)和槽(slots)相互通信:来自模块中的信号通知视图数据源中数据的改变。来自视图的信号提供了用户交互和数据显示方式的信息。当用户编辑数据时,代理发出信号,提示模型和视图编辑的状态等信息。 先来看一下最基本的三个类,Model/View框架中其他的类都是派生自这三个基本类。 QAbstractItemModel?????? 这个类就是Model的抽象接口 QAbstractItemView??????? 这个是视图的抽象接口 QAbstractItemDelegate? View和model的“中间接口”,当你需要在视图中编辑item时,这个类就派上用场了。 ? 模型 模型提供了接口给视图和代理,但有一点要清楚,它并不提供数据的存储。数据并不存储在模型中,而存储在由一些数据结构中或者类所定义的另外的容器中,例如文件,数据库,或者别的应用程序部件中。 QAbstractItemModel提供了足够的接口供表格,树形目录,列表等显示数据。但要用特定视图显示数据时,最好从QAbstractListModel、QAbstractTableModel中派生,它们提供了对一些常用函数更合适的默认实现。这些类通过子类化之后,能提供更加自定义的,更加特定的列表,表格视图。(一般子类化这三个抽象类) ? Qt提供了一些已经完成的模型类来处理数据: l??QStringListModel:用列表来处理QString的数据。 l? QStandardItemModel管理了复杂的树形结构。 l? QFileSystemModel提供了本地文件系统中的文件和目录信息。 l? QSqlQueryModel,QSqlTableModel,QSqlRelationalTableModel是用来存取数据库的。 ? 视图 已经定义好的视图有3个:QListView,QTableView,QTreeView。从名称可以看出来它们各自的功能,以后会一一介绍。这三个类都基于抽象类QAbstractItemView。 ? 代理 代理的抽象类是QAbstractItemDelegate,基于它的标准实现是QStyledItemDelegate,这个代理被用在以上3个标准视图中。然而还有一个代理QItemDelegate,它与QStyledItemDelegate是完全独立的两个代理类。因为QStyleItemDelegate使用当前风格绘制元素,所以当你用自定义代理或者使用Qt样式表的时候,最好是子类化这个。 ? 使用模型和视图 下面将介绍如何使用模型/视图模式。? 两个标准模型 Qt已经为我们实现

文档评论(0)

yyf7373 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档