Python Tkinter Treeview-迭代“get_children”输出

2024-04-25 23:56:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我稍后试图遍历Treeview内部的数据。我希望能把它整理好。

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)

在函数中,当我打印(子级)时,它会输出一个类似于此的列表-(“I001”、“I002”、“I003”、“I004”)

我希望有人知道如何将这些数据转换成树视图行中实际显示的内容?

谢谢


Tags: 数据fromimporttreedatanamestkintercolumn
1条回答
网友
1楼 · 发布于 2024-04-25 23:56:19

你的要求记录在官方的tkinterdocumentation for the Treeview widget中。

get_children方法返回一个项id列表,每个子项一个。treeview的item方法将返回给定项的数据字典。因此,您可以使用以下内容迭代这些值:

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

相关问题 更多 >