2017-01-12 205 views
1

我正在使用Python3 TTK Treeview顯示樹。但首先,子節點不縮進,只有樹的第一個子層可見。父子節點不顯示其子節點。TTK Treeview不顯示子樹

from tkinter import * 
from tkinter.ttk import * 

Win = Tk() 

entries_tree = Treeview(Win, columns = ("Glyph", "Name"), show="tree") 
entries_tree.column("#0", width = 20) 
entries_tree.column("#1", width = 20) 
entries_tree.pack() 
#Test 
Un = entries_tree.insert("", "end", values = ["X", "Un"]) 
Deux = entries_tree.insert("", "end", values = ["X", "Deux"]) 
Trois = entries_tree.insert(Un, "end", values = ["X", "Un Un"], open = True) 
Quatre = entries_tree.insert(Un, "end", values = ["X", "Un Deux"]) 
Cinq = entries_tree.insert(Un, "end", values = ["X", "Un Trois"]) 
Six = entries_tree.insert(Trois, "end", values = ["X", "Un Un Un"]) 
Sept = entries_tree.insert(Trois, "end", values = ["X", "Un Un Deux"]) 

Win.mainloop() 

結果: 第1顯示
Fist display

第一父節點展開:它的第一個孩子(三河),它是一個父節點不顯示膨脹可能性字形,和兒童不縮進。

First parent node expanded.

+1

請仔細閱讀[如何創建一個最小的,完整的,並且可驗證的示例](http://stackoverflow.com/help/mcve)。 –

+0

如果我無法看到子節點的子節點,這是因爲我強制寬度爲20.因此,加號不顯示。但是縮進問題仍然存在。 Treeview如何管理縮進? –

回答

3

歡迎。請花時間將您的問題附加到主要問題部分。這將有助於其他未來的用戶從您的問題中學習並符合stackoverflow的標準。

爲了使您能夠看到目錄,即樹結構,您需要:

  1. 拓寬列 「#0」。默認值20只是足夠寬的看到1個指標,而不是它的孩子。
  2. 將選項text = your_label_name插入。插入方法來標識樹節點。

你也可以添加在「聯合國」顯示「聯合國」的孩子在一開始的.insert方法「開放=真」。

from tkinter import * 
from tkinter.ttk import * 

Win = Tk() 

entries_tree = Treeview(Win, columns = ("Glyph", "Name"), show="tree") 
entries_tree.column("#0", width = 120, stretch=0) 
entries_tree.column("#1", width = 20, stretch=0) 
entries_tree.pack() 
#Test 
Un = entries_tree.insert("", "end", text='Un', values = ["X", "Un"], open = True) 
Deux = entries_tree.insert("", "end", text='Deux', values = ["X", "Deux"]) 
Trois = entries_tree.insert(Un, "end", text='Trois', values = ["X", "Un Un"], open = True) 
Quatre = entries_tree.insert(Un, "end", text='Quatre', values = ["X", "Un Deux"]) 
Cinq = entries_tree.insert(Un, "end", text='Cinq', values = ["X", "Un Trois"]) 
Six = entries_tree.insert(Trois, "end", text='Six', values = ["X", "Un Un Un"]) 
Sept = entries_tree.insert(Trois, "end", text='Sept', values = ["X", "Un Un Deux"]) 

Win.mainloop() 

treeview

+0

非常感謝。這解決了我的問題。 –