Qt QTreeView简单使用

本文详细介绍了如何在Qt环境中使用QTreeView组件来展示和操作树形结构数据。首先,通过QStandardItemModel初始化数据并设置表头,接着添加根节点和子节点,展示层次结构。然后,实现了鼠标点击节点的响应事件,以便进行特定操作。此外,还展示了如何为节点设置复选框、图标以及禁止编辑。最后,添加了右键菜单功能,提供添加和删除选项。整个过程覆盖了Qt界面设计、事件处理和数据模型操作,是Qt开发中的基础实践。

QT-QTreeView使用方法

QTreeView: 用于显示树状结构数据,适用于树状结构数据的操作。

一、初始化

​ 利用QStandardlternModel来初始化数据,标准的基于项数据的数据模型类, 每个项数据可以是任何数据类型。

// 初始化model
QStandardItemModel* m_standardItemModel = new QStandardItemModel();

// 使用model设置QTreeView表头
m_standardItemModel->setHorizontalHeaderLabels(QStringList(QStringLiteral("资源"))); 

// TreeView控件载入model
ui.m_treeView->setModel(m_standardItemModel);

// 展开数据
ui.m_treeView->expandAll();

二、节点添加数据

​ 利用QStandardItem创建根节点与子节点的Item,并向内填充数据。数据类型可以为QString等字符,也可以是常规的变量类型。

// 创建根节点,抽象Item,并没有实际数据
QStandardItem* itemRoot = m_standardItemModel->invisibleRootItem();

// 创建并添加Item的第一个子节点
QStandardItem* itemCam = new QStandardItem(QStringLiteral("相机"));
itemRoot->appendRow(itemCam);

// 向第一个子节点itemCam添加子节点数据
QList<QStandardItem*> camList;
camList.append(new QStandardItem("cam1"));
camList.append(new QStandardItem("cam2"));
camList.append(new QStandardItem("cam3"));
itemCam->appendRows(camList);

// 创建并添加Item的第二个子节点
QStandardItem* itemImg = new QStandardItem(QStringLiteral("图片"));
itemRoot->appendRow(itemImg);

// 向第二个子节点itemImg添加子节点数据
QList<QStandardItem*> imgList;
imgList.append(new QStandardItem("img1"));
imgList.append(new QStandardItem("img2"));
imgList.append(new QStandardItem("img3"));
itemImg->
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值