前言:
在Qt的模型/视图架构中,模型中的每个数据元素都不仅仅包含数据本身,还包含多种角色(Role)。角色可以理解为数据项中保存的属性或样式的类别,可以将其视为键-值对中的键,用于存储和检索数据的不同方面。Qt通过提供丰富的角色来支持数据的多样化表示和编辑。
一、模型角色
1、角色的分类
当视图View向模型Model索要数据时,不仅要提供索引 index,还必须要提供角色role。index和role共同决定出视图到底在向Model请求哪个数据。Qt当前提供了22个角色,下面介绍下这些角色的用法,如下:
内容设置:
类型 | 功能 |
---|---|
DisplayRole | 主要用于以文本的形式显示数据 QString |
EditRole | 可用于文本数据的编辑 (QString) |
DecorationRole | 可以将数据通过图标的方式呈现出来 (QColor、QIcon、QPixmap) |
ToolTipRole | 实现当鼠标处于选中的数据时,显示出数据的相关提示(QString) |
StatusTipRole | 在状态栏显示提示的数据(QString) |
WhatsThisRole | 可以通过选中数据摁下快捷键shift+F1来显示 |