QTreeWidgetItem的item->setData(0, DisplayRole, “Item Text“);的DisplayRole

enum ItemDataRole {
        DisplayRole = 0,
        DecorationRole = 1,
        EditRole = 2,
        ToolTipRole = 3,
        StatusTipRole = 4,
        WhatsThisRole = 5,
        // Metadata
        FontRole = 6,
        TextAlignmentRole = 7,
        BackgroundRole = 8,
        ForegroundRole = 9,
        CheckStateRole = 10,
        // Accessibility
        AccessibleTextRole = 11,
        AccessibleDescriptionRole = 12,
        // More general purpose
        SizeHintRole = 13,
        InitialSortOrderRole = 14,
        // Internal UiLib roles. Start worrying when public roles go that high.
        DisplayPropertyRole = 27,
        DecorationPropertyRole = 28,
        ToolTipPropertyRole = 29,
        StatusTipPropertyRole = 30,
        WhatsThisPropertyRole = 31,
        // Reserved
        UserRole = 0x0100
    };每一个代表什么作用
在 Qt 中,QTreeWidgetItem::setData 等方法使用角色(role)来区分不同类型的数据,下面详细解释你给出的枚举中各个角色的作用:
显示相关角色
DisplayRole (0)
作用:用于存储要在视图中显示的文本。当 QTreeWidget 显示项目时,会从该角色获取文本并显示在相应的列中。
示例:
cpp
QTreeWidgetItem *item = new QTreeWidgetItem();
item->setData(0, DisplayRole, "Item Text");
DecorationRole (1)
作用:用于存储要在视图中显示的图标或装饰性元素。通常用于在项目文本旁边显示一个图标。
示例:
cpp
QTreeWidgetItem *item = new QTreeWidgetItem();
item->setData(0, DecorationRole, QIcon("icon.png"));
EditRole (2)
作用:用于存储可编辑的文本。当用户开始编辑项目时,视图会从该角色获取文本进行编辑,编辑完成后也会将新值存储到该角色。
示例:
cpp
QTreeWidgetItem *item = new QTreeWidgetItem();
item->setData(0, EditRole, "Editable Text");
ToolTipRole (3)
作用:用于存储项目的工具提示文本。当用户将鼠标悬停在项目上时,会显示该角色存储的文本。
示例:
cpp
QTreeWidgetItem *item = new QTreeWidgetItem();
item->setData(0, ToolTipRole, "This is a tooltip");
StatusTipRole (4)
作用:用于存储项目的状态栏提示文本。当用户将鼠标悬停在项目上时,该文本会显示在应用程序的状态栏中。
示例:
cpp
QTreeWidgetItem *item = new QTreeWidgetItem();
item->setData(0, StatusTipRole, "Status tip text");
WhatsThisRole (5)
作用:用于存储项目的 “这是什么” 帮助文本。当用户在应用程序中按下 Shift + F1 并点击项目时,会显示该角色存储的文本。
示例:
cpp
QTreeWidgetItem *item = new QTreeWidgetItem();
item->setData(0, WhatsThisRole, "This is a detailed description");
元数据相关角色
FontRole (6)
作用:用于存储项目文本的字体。可以设置项目文本的字体样式、大小等。
示例:
cpp
QTreeWidgetItem *item = new QTreeWidgetItem();
QFont font;
font.setBold(true);
item->setData(0, FontRole, font);
TextAlignmentRole (7)
作用:用于存储项目文本的对齐方式。可以设置文本在项目中的水平和垂直对齐方式。
示例:
cpp
QTreeWidgetItem *item = new QTreeWidgetItem();
item->setData(0, TextAlignmentRole, Qt::AlignCenter);
BackgroundRole (8)
作用:用于存储项目的背景画刷。可以设置项目的背景颜色或图案。
示例:
cpp
QTreeWidgetItem *item = new QTreeWidgetItem();
item->setData(0, BackgroundRole, QBrush(Qt::red));
ForegroundRole (9)
作用:用于存储项目的前景画刷,通常用于设置项目文本的颜色。
示例:
cpp
QTreeWidgetItem *item = new QTreeWidgetItem();
item->setData(0, ForegroundRole, QBrush(Qt::white));
CheckStateRole (10)
作用:用于存储项目的复选框状态。可以设置项目的复选框为选中、未选中或部分选中状态。
示例:
cpp
QTreeWidgetItem *item = new QTreeWidgetItem();
item->setData(0, CheckStateRole, Qt::Checked);
无障碍访问相关角色
AccessibleTextRole (11)
作用:用于存储项目的无障碍文本,供屏幕阅读器等辅助设备使用。
示例:
cpp
QTreeWidgetItem *item = new QTreeWidgetItem();
item->setData(0, AccessibleTextRole, "Accessible text for this item");
AccessibleDescriptionRole (12)
作用:用于存储项目的无障碍描述,供屏幕阅读器等辅助设备使用,提供更详细的信息。
示例:
cpp
QTreeWidgetItem *item = new QTreeWidgetItem();
item->setData(0, AccessibleDescriptionRole, "Detailed accessible description");
通用目的角色
SizeHintRole (13)
作用:用于存储项目的大小提示。可以指定项目在视图中显示的推荐大小。
示例:
cpp
QTreeWidgetItem *item = new QTreeWidgetItem();
item->setData(0, SizeHintRole, QSize(100, 20));
InitialSortOrderRole (14)
作用:用于存储项目的初始排序顺序。可以指定项目在排序时的初始顺序。
示例:
cpp
QTreeWidgetItem *item = new QTreeWidgetItem();
item->setData(0, InitialSortOrderRole, Qt::AscendingOrder);
内部 UiLib 角色
DisplayPropertyRole (27)
作用:通常用于内部 UiLib 相关的显示属性,具体用途可能因 UiLib 实现而异。
DecorationPropertyRole (28)
作用:通常用于内部 UiLib 相关的装饰属性,具体用途可能因 UiLib 实现而异。
ToolTipPropertyRole (29)
作用:通常用于内部 UiLib 相关的工具提示属性,具体用途可能因 UiLib 实现而异。
StatusTipPropertyRole (30)
作用:通常用于内部 UiLib 相关的状态栏提示属性,具体用途可能因 UiLib 实现而异。
WhatsThisPropertyRole (31)
作用:通常用于内部 UiLib 相关的 “这是什么” 帮助属性,具体用途可能因 UiLib 实现而异。
用户自定义角色
UserRole (0x0100)
作用:用户可以使用该角色及更高的角色来存储自定义的数据。例如,你可以使用 UserRole 来存储与项目相关的自定义 ID 或其他业务数据。
示例:
cpp
QTreeWidgetItem *item = new QTreeWidgetItem();
item->setData(0, UserRole, 123);
这些角色提供了一种灵活的方式来存储和管理与 QTreeWidgetItem 相关的不同类型的数据,使得开发者可以根据需要定制项目的显示和行为。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值