【发布时间】:2015-09-11 13:53:21
【问题描述】:
我在treeview 中插入了几个项目。
我可以查找存储在树视图中的项目总数吗?
甚至更好:我可以遍历 所有 项,例如 for child in tree:... 吗?
Python 3.X Tkinter 8.6
【问题讨论】:
标签: python-3.x tkinter treeview
我在treeview 中插入了几个项目。
我可以查找存储在树视图中的项目总数吗?
甚至更好:我可以遍历 所有 项,例如 for child in tree:... 吗?
Python 3.X Tkinter 8.6
【问题讨论】:
标签: python-3.x tkinter treeview
树视图有一个get_children 方法,可以获取一个项目的所有子项。在根上调用该方法,然后在每个有子项的项目上调用它是一件简单的事情。
此方法记录在您在问题中链接到的页面中。
这是一个简单的例子:
def get_all_children(tree, item=""):
children = tree.get_children(item)
for child in children:
children += get_all_children(tree, child)
return children
在我的盒子上,在包含 11,000 个项目的树中找到所有项目大约需要 15 毫秒
【讨论】:
get_children 是您遍历所有项目的方式。一旦您知道如何迭代所有项目,您就可以轻松计算计数。
len(tree.get_children()) 在 8.6 中适用于我的 ttk.Treeview
【讨论】: