我們知道在數據結構上來說,任何樹都是有根節點的,但我們在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:\