Думаю, вам может понадобиться событие <<TreeviewSelect>>
Он генерируется всякий раз, когда вы выбираете элемент в виде дерева, независимо от того, нажимаете ли вы на тот же или другой элемент.
Вот небольшая программа, которая печатает, какое событие генерируется, когда вы что-то делаете. Запустите его и посмотрите, может ли это быть полезным.
from tkinter import *
from tkinter import ttk
root = Tk()
root.geometry('300x400')
NewTree = ttk.Treeview(root)
NewTree.grid()
NewTree.insert('', 'end', text='Widget One')
NewTree.insert('', 'end', text='Widget Two')
NewTree.insert('', 'end', text='Widget Three')
def callback(binding):
print('Callback from:', binding)
NewTree.bind('<Return>', lambda event: callback(binding='Return'))
NewTree.bind('<FocusOut>', lambda event: callback(binding='FocusOut'))
NewTree.bind('<<TreeviewSelect>>', lambda event: callback(binding='TreeviewSelect'))
NewTree.bind('<Leave>', lambda event: callback(binding='Leave'))
root.mainloop()
Кстати; Соглашения об именах в Python гласят, что вы должны использовать только заглавные буквы class . Это зависит только от вас, но если вы хотите, чтобы другие люди понимали ваш код, это помогает соответствовать стандартам. :)