Qt 模型视图框架:深入解析与实践应用
1. 模型 - 视图框架概述
模型和视图是各类软件中常见的设计模式。通过将数据分离到模型中,并通过视图将模型呈现给用户,能够创建出健壮且可复用的设计。模型用于描述列表、表格和树等结构:
- 列表 :一维数据向量。
- 表格 :具有多列的列表,属于二维数据结构。
- 树 :可看作是带有额外维度的表格,因为数据可能隐藏在其他数据内部。
在经典的模型 - 视图 - 控制器(MVC)设计模式中,模型存储数据,视图将其渲染到显示单元,用户编辑数据时由控制器类处理所有修改。而 Qt 采用了略有不同的方式,视图通过委托类处理数据更新。可以说,Qt 中控制器和视图进行了合并,视图使用委托来处理部分控制器的工作。
2. 使用视图展示数据
Qt 提供了三种默认视图:树、列表和表格。以列表为例, QListWidget 是 QListView 的特殊版本, QListWidget 包含列表中显示的数据,而 QListView 从模型中获取数据。 QListWidget 有时被称为便利类,在不太复杂的情况下使用更方便,但灵活性不如 QListView 和模型的组合。
下面是一个创建模型、填充数据并使用三种视图展示的示例:
//
超级会员免费看
订阅专栏 解锁全文
74

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



