Qt 模型 - 视图框架详解
1. 模型 - 视图框架概述
模型 - 视图是常见的设计模式,通过将数据分离到模型中,并通过视图将模型呈现给用户,可以创建出健壮且可复用的设计。模型用于描述列表、表格和树等结构:
- 列表 :一维数据向量。
- 表格 :具有多列的列表,是二维数据结构。
- 树 :可看作带有额外维度的表格,因为数据可能隐藏在其他数据内部。
在构建应用程序时,这些结构几乎适用于所有情况。而且无需改变实际的数据存储方式,只需提供一个模型类来表示数据,并将模型数据中的每个项映射到应用程序数据结构中的实际项。视图的任务则是将模型中的数据展示给用户。
经典的模型 - 视图 - 控制器(MVC)模式中,模型保存数据,视图将其渲染到显示单元,用户编辑数据时由控制器类处理所有修改。而 Qt 的处理方式略有不同,它用视图通过委托类来处理数据更新。委托有两个任务:帮助视图渲染每个值,以及在用户编辑值时提供帮助。可以说 Qt 中控制器和视图合并了,视图使用委托来处理部分控制器的工作。
2. 使用视图显示数据
Qt 提供了三种默认视图:树、列表和表格。以 QListWidget 为例,它是 QListView 的特殊版本, QListWidget 包含列表中显示的数据,而 QListView 从模型中访问数据。 QListWidget 在较简单的情况下更方便,
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



