python PyQt6 判断节点和子节点是否有该节点
时间: 2024-09-08 12:03:39 浏览: 83
python 中pyqt5 树节点点击实现多窗口切换问题
5星 · 资源好评率100%
在PyQt6中,如果你在处理QTreeWidget这样的树形控件,你可以通过遍历节点并检查它们的子节点来判断某个特定的节点是否存在。下面是一个简单的例子:
```python
from PyQt6.QtWidgets import QApplication, QTreeView, QStandardItemModel, QStandardItem
# 创建模型
model = QStandardItemModel()
root_item = model.invisibleRootItem()
# 添加一些节点到模型
item1 = QStandardItem('父节点1')
item2 = QStandardItem('子节点1')
item3 = QStandardItem('子节点2')
root_item.appendRow(item1)
item1.appendRow(item2)
item1.appendRow(item3)
# 定义一个函数来检查节点是否存在
def has_child(node, target_name):
for i in range(node.rowCount()):
child_item = node.child(i)
if child_item.text() == target_name:
return True
elif child_item.hasChildren():
# 如果子节点还有子节点,则继续递归搜索
if has_child(child_item, target_name):
return True
return False
# 检查特定节点是否存在
if has_child(root_item, '子节点1'):
print(f'找到子节点 "子节点1"')
else:
print('未找到子节点 "子节点1"')
阅读全文