PyQt(Python+Qt)学习随笔:invisibleRootItem方法访问QTreeWidget树型部件的隐形根节点

我们知道在数据结构上来说,任何树都是有根节点的,但我们在QTreeWidget对象中并没有看到界面上展示一个根节点,在QTreeWidget对象和数据项构建时也没有指定这样的根节点,但实际上这个根节点还是存在的,只是不可见,且该节点是树型部件创建之后就自动创建,无论是否存在顶层项。

QTreeWidget提供了访问该隐形根节点的方法,调用语法如下:

QTreeWidgetItem invisibleRootItem()

这个方法其实用途不大,主要是可以用于递归访问树的所有节点,递归不是从topLevelItem开始,而是从根节点开始,所有节点的类型都是QTreeWidgetItem ,可以用QTreeWidgetItem 的child方法逐层递归访问。

代码示例:

在下图的树型部件中:
在这里插入图片描述
使用隐形根节点输出顶层项数据的示例代码:

		root = self.treeWidget.invisibleRootItem()
        count = root.childCount()
        for i in range(count):print(root.child(i).text(0))

输出数据如下:

c:
d:
e:

老猿Python,跟老猿学Python!

原文地址:https://www.cnblogs.com/LaoYuanPython/p/12570500.html