QTreeWidgetItem
最后更新于:2022-04-02 02:11:09
[TOC]
## 概述
通用数据操作
```
text(int column)
setText(int column, const QString &text)
icon(int column)
setIcon(int column, const QIcon &icon)
checkState(int column) // 复选框
setCheckState(int column, Qt::CheckState state)
...
```
常用函数
```
QTreeWidgetItem(int type = Type) // 基本用不到
QTreeWidgetItem(const QStringList & strings, int type = Type)
QTreeWidgetItem(const QTreeWidgetItem & other) //复制时除了 type()、treeWidget()、parent(),其他的都复制,是深拷贝,与本条目(包括子孙节点)不共享内存
// 查看父节点
QTreeWidgetItem * QTreeWidgetItem::parent() const //常量,子节点不能改父节点指针
// 操作/添加子节点
void addChild(QTreeWidgetItem * child) //添加一个子节点到末尾
void addChildren(const QList & children) //添加多个子节点末尾
void insertChild(int index, QTreeWidgetItem * child) //插入子节点序号 index 序号位置
void insertChildren(int index, const QList & children)//插入多个子节点到 index 位置
int childCount() const //直接子节点的计数(与孙辈或更低辈分的节点数目无关)
// 查找
QTreeWidgetItem * child(int index) const //根据序号获取直接子节点的指针使用函数
int indexOfChild(QTreeWidgetItem * child) const //根据子节点指针查序号的函数如下
// 移除子节点使用如下函数
void removeChild(QTreeWidgetItem * child) //根据子节点指针解除父子关系
QTreeWidgetItem * takeChild(int index) //根据子节点序号解除父子 关系,返回卸下后的自由节点指针
QList takeChildren() //卸下所有子节点
// 注意这几个函数只是解除父子关系,卸下的子节点还存在内存中,
// 如果要完全删除需要手动 delete 每个节点
// 获取item所在的 QTreeWidget
QTreeWidget * QTreeWidgetItem::treeWidget() const
// 设置 flags
Qt::ItemFlags QTreeWidgetItem::flags() const
void QTreeWidgetItem::setFlags(Qt::ItemFlags flags)
// 使用 item->setFlags( (item->flags()) | Qt::ItemIsEditable ); //双击条目会自动 开启文本编辑器
```
';