QTreeWidget

本文详细介绍了QTreeWidget在QT编程中的应用,包括如何声明自定义数据类型,添加和获取自定义类型及数据,实现节点的可编辑重命名、多选功能以及添加展开按钮等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include <QTreeWidget>

#include <QHeaderView>

{

    // 实例化树结构

    QTreeWidget *pTreeWidget = new QTreeWidget(this);

    // 设置标头

    pTreeWidget->header()->hide();

    pTreeWidget->header()->setResizeMode(QHeaderView::ResizeToContents);

    pTreeWidget->header()->setStretchLastSection(false);

    // 开启滚动条

    pTreeWidget->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);

    pTreeWidget0>setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn);

    // 去除光标

    pTreeWidget->setFocusPolicy(Qt::NoFocus);

    // 禁止编辑

    pTreeWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);

}

1、声明自定义数据类型

Q_DECLARE_METATYPE(CTest*);

EItemType

{

    E_ITEM_ROOT = 0,

    E_ITEM_NODE

}

2、添加自定义类型和数据

CTest *pTest = new CTest(this);

QTreeWidgetItem *pItem =  new QTreeWidgetItem(QStringList(tr("测试")));

pItem->setData(0, Qt::UserRole, E_ITEM_ROOT);

pItem->setData(1, Qt::UserRole, QVariant::fromValue(pTest));

3、获取自定义类型

EItemType type = (EItemType)pItem->data(0, Qt::UserRole).toInt;

4、获取自定义数据

CTest *pTest = pItem->data(1, Qt::UserRole).value<CTest *>();

5、设置节点可编辑重命名

pItem->setFlags(pItem->flags() | Qt::ItemIsEditable);

6、设置节点支持多选

pTreeWidget->setSelectionMode(QAbstractItemView::ExtendedSelection);

7、设置节点添加展开按钮

pItem->setChildIndicatorPolicy(QTreeWidgetItem::ShowIndicator);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值