Python Tkinter Treeview-迭代'get_children'输出 [英] Python Tkinter Treeview - Iterating 'get_children' output

查看:852
本文介绍了Python Tkinter Treeview-迭代'get_children'输出的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我稍后尝试遍历Treeview内部的数据。

I am trying to later iterate through the data inside of the Treeview. I will then hope to be able to sort through it.

from tkinter import *
from tkinter.ttk import *
import pickle

root = Tk()

def treeData(event):
    children = tree.get_children()
    print(children)

entry = StringVar()
a = Entry(root, textvariable=entry)
a.grid(column=0,row=0)
a.bind("<Key>", function)

file_data = []
file = open('data.dat', 'rb')
while True:
    try:
        file_data.append(pickle.load(file))
    except EOFError:
        break
file.close()

column_names = ("Column 1", "Column 2")
tree = Treeview(root, columns=column_names)
tree['show'] = 'headings'
for x in file_data:
    a = tree.insert('', 'end', values=x)
for col in column_names: 
    tree.heading(col, text=col)

tree.grid(column=0, row=1)

在函数中,当我打印(ch ildren),它输出的列表与此类似-('I001','I002','I003','I004')

In the function, called 'treeData' when I print(children) it outputs a list that looks similar to this - ('I001', 'I002', 'I003', 'I004')

我希望有人会知道如何将这些数据转换为Treeview行中实际显示的内容?

I am hoping someone will know how to convert these pieces of data into what is actually shown in the row of the Treeview?

谢谢

推荐答案

您要问的内容记录在官方的tkinter Treeview小部件的文档

What you are asking is documented in the official tkinter documentation for the Treeview widget.

get_children 方法返回一个商品ID列表,每个孩子一个。树视图的 item 方法将返回数据字典给定项目。因此,您可以使用以下方式迭代这些值:

The get_children method returns a list of item IDs, one for each child. The item method of the treeview will return a dictionary of data for a given item. Thus, you can iterate over the values with something like this:

for child in tree.get_children():
    print(tree.item(child)["values"])

这篇关于Python Tkinter Treeview-迭代'get_children'输出的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆