29 lines
No EOL
927 B
Markdown
29 lines
No EOL
927 B
Markdown
# QTreeWidget
|
|
|
|
- 目录
|
|
- [通过json数据生成树形结构](#1通过json数据生成树形结构)
|
|
- [点击父节点全选/取消全选子节点](#2点击父节点全选取消全选子节点)
|
|
- [禁止父节点/禁止父节点](#3禁止父节点)
|
|
|
|
## 1、通过json数据生成树形结构
|
|
[运行 ParsingJson.py](ParsingJson.py)
|
|
|
|
解析每一层json数据中的list
|
|
|
|
|
|
![ParsingJson](ScreenShot/ParsingJson.png)
|
|
|
|
## 2、点击父节点全选/取消全选子节点
|
|
[运行 testTreeWidget.py](testTreeWidget.py)
|
|
|
|
点击父节点全选/取消全选子节点
|
|
|
|
![testTreeWidget](ScreenShot/allSelectNode.png)
|
|
|
|
## 3、禁止父节点
|
|
[运行 ParentNodeForbid.py](ParentNodeForbid.py)
|
|
|
|
1. 父节点通过设置`pitem1.setFlags(pitem1.flags() & ~Qt.ItemIsSelectable)`为不可选
|
|
2. 完全禁用点击等需要重写`mousePressEvent`事件并结合item的标志来判断
|
|
|
|
![ParentNodeForbid](ScreenShot/ParentNodeForbid.gif) |