QTreeView 遍历树结构
时间: 2024-01-15 20:19:51 浏览: 54
以下是两种在QTreeView中遍历树结构的方法:
1. 使用递归方式遍历树结构:
```python
def traverse_tree_recursive(item):
if item is None:
return
# 处理当前节点
print(item.text(0))
# 遍历子节点
for i in range(item.childCount()):
child_item = item.child(i)
traverse_tree_recursive(child_item)
# 调用方法
root_item = tree_view.model().invisibleRootItem()
traverse_tree_recursive(root_item)
```
2. 使用非递归方式遍历树结构:
```python
def traverse_tree_iterative(tree_view):
stack = []
root_item = tree_view.model().invisibleRootItem()
stack.append(root_item)
while stack:
item = stack.pop()
# 处理当前节点
print(item.text(0))
# 将子节点压入栈中
for i in range(item.childCount()):
child_item = item.child(i)
stack.append(child_item)
# 调用方法
traverse_tree_iterative(tree_view)
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)