Python Tkinter Treeview - 迭代 'get_children' 输出
Python Tkinter Treeview - Iterating 'get_children' output
我正在尝试稍后遍历 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)
在函数中,当我打印(儿童)时调用 'treeData' 它输出一个类似于此的列表 - ('I001', 'I002', 'I003', 'I004')
我希望有人知道如何将这些数据转换成 Treeview 行中实际显示的内容?
谢谢,
官方 tkinter documentation for the Treeview widget 中记录了您的问题。
树视图的 get_children method returns a list of item IDs, one for each child. The item 方法将 return 给定项目的数据字典。因此,您可以像这样迭代这些值:
for child in tree.get_children():
print(tree.item(child)["values"])
我正在尝试稍后遍历 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)
在函数中,当我打印(儿童)时调用 'treeData' 它输出一个类似于此的列表 - ('I001', 'I002', 'I003', 'I004')
我希望有人知道如何将这些数据转换成 Treeview 行中实际显示的内容?
谢谢,
官方 tkinter documentation for the Treeview widget 中记录了您的问题。
树视图的 get_children method returns a list of item IDs, one for each child. The item 方法将 return 给定项目的数据字典。因此,您可以像这样迭代这些值:
for child in tree.get_children():
print(tree.item(child)["values"])