Qt中视图类View的使用

Qt的模型/视图体系结构中,视图类View负责从模型获取数据并呈现给用户。视图如QListView、QTreeView和QTableView提供不同方式展示数据,同时处理导航、选择和用户交互。视图可以独立或共享选择模型,实现多个视图间数据一致性。QItemSelectionModel用于管理选择项,允许在不同视图间同步用户选择。
摘要由CSDN通过智能技术生成

视图类 View

概念:
在模型/视图体系结构中,视图从模型中获取数据项并呈现给用户。数据呈现的方式与模型提供的数据表示方式不同,也可能与用于存储数据项的基础数据结构完全不同。

内容和表示的分离是通过使用QAbstractItemModel提供的标准模型接口、QAbstractItemView提供的标准视图接口以及使用以一般方式表示数据项的模型索引实现的。

视图通常管理从模型获取的数据的总体布局。它们可以呈现数据本身的单个项,或使用委托来处理渲染和编辑要素。

除了显示数据,视图还处理项之间的导航以及项选择的某些方面。视图还实现基本的用户界面功能,如上下文菜单和拖放。视图可以为项目提供默认的编辑功能,也可以与委托一起提供自定义编辑器。

可以在没有模型的情况下构造视图,但必须提供模型,然后才能显示有用的信息。视图跟踪用户通过使用选项选择来跟踪项目,这些选择可以针对每个视图单独维护,也可以在多个视图之间共享。

某些视图(如QTableView和QTreeView)显示标题以及项目。这些也由视图类QHeaderView 实现。标题通常访问包含标头视图的模型。他们使用QAbstractIteModel::headerData() 函数从模型检索数据,并且通常以标签的形式显示标头信息。可以从 QHeaderView 类对新标头进行子分类,以便为视图提供更专门的标签。

使用现有的视图

Qt 提供了三个即用型视图类,这些类以大多数用户熟悉的方式显示来自模型的数据。

  1. QListView 可以以简单列表形式或经典图标视图的形式显示模型中的项目。
  2. QTreeView将模型中的项目显示为列表的层次结构,允许以紧凑的方式表示深度嵌套结构。
  3. QTableView以表的形式显示模型中的项目,与电子表格应用程序的布局非常多。

在这里插入图片描述

对于大多数应用程序,上面显示的标准视图的默认行为应该足够。它们提供基本的编辑功能,并可进行定制,满足更专业用户界面的需求。

视图显示模型的内容

构造一个视图来显示模型的内容,在单个main函数中执行。

#include
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值