ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
[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<QTreeWidgetItem *> & children) //添加多个子节点末尾 void insertChild(int index, QTreeWidgetItem * child) //插入子节点序号 index 序号位置 void insertChildren(int index, const QList<QTreeWidgetItem *> & children)//插入多个子节点到 index 位置 int childCount() const //直接子节点的计数(与孙辈或更低辈分的节点数目无关) // 查找 QTreeWidgetItem * child(int index) const //根据序号获取直接子节点的指针使用函数 int indexOfChild(QTreeWidgetItem * child) const //根据子节点指针查序号的函数如下 // 移除子节点使用如下函数 void removeChild(QTreeWidgetItem * child) //根据子节点指针解除父子关系 QTreeWidgetItem * takeChild(int index) //根据子节点序号解除父子 关系,返回卸下后的自由节点指针 QList<QTreeWidgetItem *> 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 ); //双击条目会自动 开启文本编辑器 ```