ImageVerifierCode 换一换
格式:PPT , 页数:42 ,大小:1.47MB ,
资源ID:1452691      下载积分:12 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-1452691.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Qt5开发及实例(第2版)-第8章 Qt 5模型-视图结构.ppt)为本站会员(99****p)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

Qt5开发及实例(第2版)-第8章 Qt 5模型-视图结构.ppt

1、第 8章 Qt 5模型 /视图结构概述8.18.2 模型( Model)视图( View)8.38.4 代理( Delegate)Qt的模型 /视图结构分为三部分:模型( Model)、视图( View)和代理(Delegate)。其中,模型与数据源通信,并为其他部件提供接口;而视图从模型中获得用来引用数据条目的模型索引( Model Index)。在视图中,代理负责绘制数据条目,当编辑条目时,代理和模型直接进行通信。模型 /视图 /代理之间通过信号和槽进行通信,如图 8.1所示。8.1 概述8.1.1 基本概念1模型( Model)InterView框架中的所有模型都基于抽象基类 QAbst

2、ractItemModel类,此类由QProxyModel、 QAbstractListModel、 QAbstractTableModel、QAbstractProxyModel、 QDirModel、 QFileSystemModel、 QHelpContentModel 和QStandardItemModel类继承。其中, QAbstractListModel类和QAbstractTableModel类是列表和表格模型的抽象基类,如果需要实现列表或表格模型,则应从这两个类继承。8.1.1 基本概念2视图( View)InterView框架中的所有视图都基于抽象基类 QAbstractIt

3、emView类,此类由QColumnView、 QHeaderView、 QListView、 QTableView和 QTreeView类继承。其中, QListView类由 QUndoView类和 QListWidget类继承; QTableView类由QTableWidget类继承; QTreeView类由 QTreeWidget类继承。而 QListWidget类、QTableWidget类和 QTreeWidget类实际上已经包含了数据,是模型 /视图集成在一起的类。3代理( Delegate)InterView框架中的所有代理都基于抽象基类 QAbstractItemDelegat

4、e类,此类由 QItemDelegate 和 QStyledItemDelegate类继承。其中, QItemDelegate类由表示数据库中关系代理的 QSqlRelationalDelegate类继承。8.1.2 【实例】:模型 /视图类使用【例】(简单) 实现一个简单的文件目录浏览器,完成效果如图 8.2所示。实例文件见光盘 CH801。创建工程 “DirModeEx.pro”, 其源文件 “main.cpp”中的具体 代码 。最后运行结果如图 8.2所示。8.2 模型( Model)【例】(难度一般) 通过实现将数值代码转换为文字的模型来介绍如何使用自定义模型。此模型中保存了不同军种的

5、各种武器,实现效果如图 8.3所示。实例文件见光盘 CH802。8.2 模型( Model)具体操作步骤如下。( 1) ModelEx类继承自 QAbstractTableModel类, 头文件 “modelex.h”中的具体代码 。( 2) 源文件 “modelex.cpp”中的具体 代码 。populateModel()函数的具体实现代码如下:void ModelEx:populateModel()headertr(“军种 “)tr(“种类 “)tr(“武器 “);army12342431;weaponType13574862;weapontr(“B-2“)tr(“尼米兹级 “)tr(“阿

6、帕奇 “)tr(“黄蜂级 “)tr(“阿利伯克级 “)tr(“AAAV“)tr(“M1A1“)tr(“F-22“);8.2 模型( Model)columnCount()函数中,模型的列固定为 “3”,所以直接返回 “3”。int ModelEx:columnCount(const QModelIndex rowCount()函数返回模型的行数。int ModelEx:rowCount(const QModelIndex data()函数返回指定索引的数据, 即将数值映射为文字。8.2 模型( Model)表 8.1列出了 Item主要的角色及其描述。常 量 描 述Qt:DisplayRole

7、 显示文字Qt:DecorationRole 绘制装饰数据(通常是图标)Qt:EditRole 在编辑器中编辑的数据Qt:ToolTipRole 工具提示Qt:StatusTipRole 状态栏提示Qt:WhatsThisRole Whats This文字Qt:SizeHintRole 尺寸提示Qt:FontRole 默认代理的绘制使用的字体Qt:TextAlignmentRole 默认代理的对齐方式Qt:BackgroundRole 默认代理的背景画刷Qt:ForegroundRole 默认代理的前景画刷Qt:CheckStateRole 默认代理的检查框状态Qt:UserRole 用户自定义的数据的起始位置8.2 模型( Model)headerData()函数返回固定的表头数据,设置水平表头的标题,具体代码如下:QVariant ModelEx:headerData(int section, Qt:Orientation orientation, int role) constif(role=Qt:DisplayRolereturn QAbstractTableModel:headerData(section,orientation,role);

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。