2017-01-12 162 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

非常感谢。这解决了我的问题。 –