Search code examples
tkintergettreeview

Get data from treeview in tkinter


I'm trying to get data from a Treeview I filled with :

self.tree['show'] = 'headings'
    self.tree['columns'] = ('Pool ID','Time', 'Lat', 'Lon', 'Alt', 'Spd', 'hdop','vdop','pdop', 'Sats Used', 'FixMode')
    self.tree.column('Pool ID', width=90, anchor='center')
    self.tree.heading('Pool ID', text='Pool ID')
    self.tree.column('Time', width=90, anchor='center')
    self.tree.heading('Time', text='Time')
    self.tree.column('Lat', width=90, anchor='center')
    self.tree.heading('Lat', text='Lat')
    self.tree.column('Lon', width=90, anchor='center')
    self.tree.heading('Lon', text='Lon')
    self.tree.column('Alt', width=90, anchor='center')
    self.tree.heading('Alt', text='Alt')
    self.tree.column('Spd', width=90, anchor='center')
    self.tree.heading('Spd', text='Spd')
    self.tree.column('hdop', width=90, anchor='center')
    self.tree.heading('hdop', text='hdop')
    self.tree.column('vdop', width=90, anchor='center')
    self.tree.heading('vdop', text='vdop')
    self.tree.column('pdop', width=90, anchor='center')
    self.tree.heading('pdop', text='pdop')
    self.tree.column('Sats Used', width=90, anchor='center')
    self.tree.heading('Sats Used', text='Sats Used')
    self.tree.column('FixMode', width=90, anchor='center')
    self.tree.heading('FixMode', text='FixMode')

    for i in range(5):

        self.tree.insert('', -1, values=(
                                           i+1,
                                           i+2, 
                                           i+3, 
                                           i+4,
                                           i+5,
                                           i+6,
                                           i+7,
                                           i+8,
                                           i+9,
                                           i+10,
                                           i+11))

I searched in the doc and on SO, but I didn't find anything about it. Can someone help me?


Solution

  • Ok, I finally found how to do it, for example to display all values :

    for line in self.tree.get_children():
    
        for value in self.tree.item(line)['values']:
            print(value)