Python Tkinter Treeview - Iterating 'get_children' output
children, python, tkinter, treeview
Solution
What you are asking is documented in the official tkinter documentation for the Treeview widget.
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"])
Problem
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) ``` In the function, called 'treeData' when I print(children) it outputs a list that looks similar to this - ('I001', 'I002', 'I003', 'I004') I am hoping someone will know how to convert these pieces of data into what is actually shown in the row of the Treeview? Thanks,