【发布时间】:2021-05-21 20:11:57
【问题描述】:
我正在使用 python 3 tkinter 树视图构建带有子项目的项目列表。我的树视图有三个列。很简单,我想在每个有子项目的项目上显示那个小 +/- 图标。由于某种原因,它没有出现。此外,子项直接显示在父项下方。因此,如果没有加号图标和缩进,就不可能分辨出哪些项目在哪个父项下。它看起来像一个列表。我在文档中找不到它指定“打开加号图标”或“设置子项的缩进”
我要做什么:
我得到了什么(它仍然可以让我通过双击“管”行来隐藏/显示每个“管”下的“项目”):
任何帮助将不胜感激。
这里有一些示例代码:
import tkinter as tk
import tkinter.ttk as ttk
import random
sub = tk.Toplevel()
result_frame = tk.Frame(sub)
result_frame.pack()
treeview_widget_frame = tk.Frame(result_frame)
treeview_widget_frame.pack(side = 'top')
columns = ['a','b','c']
tubes = 10
treeview_widget = ttk.Treeview(treeview_widget_frame, height = 20, columns = columns, show = 'headings')
for col in columns:
treeview_widget.heading(col, text = col.title(), command = lambda c=col: sortby(treeview_widget, c, 0))
for n in range(int(tubes)):
treeview_widget.insert('', tk.END, text = 'Tube ' + str(n+1), iid = n, values = ('Tube ' + str(n+1), "",""), open = 'True')
print(n)
for t in range(15):
r = random.randint(0,9)
treeview_widget.insert(r, tk.END, values = ['Item ' + str(t), '12345', 'details'])
treeview_widget.pack()
sub.mainloop()
【问题讨论】:
-
所以你的意思是,当你点击加号或减号时,文本必须动态变化?
-
Jut 添加了更多信息以帮助澄清。
-
您在创建树视图时提供了
show = 'headings'选项,因此您告诉 tkinter 隐藏树部分(默认为show = 'tree headings',它同时显示列标题和树) -
谢谢@j_4321。这行得通。你能指出解释细节的文档吗?
标签: python tkinter treeview icons indentation