Как взять данные из Treeview?
Как сделать открытие окна при нажатии на строку Treeview Tkinter? То есть пользователь жмёт на строку с нужными ему данными и открывается новое окно, где те же самые данные что и в этой строке + всё остальное из БД. Как вывести данные из БД в отдельное окно я знаю, а вот как взять данные из выделенной строки в Treeview никак не пойму. Подскажите, пожалуйста
Ответы (1 шт):
Допустим, нам нужно чтобы при выборе строки в дереве выполнялось какое то действие, при этом нужно получить доступ к данным в выбранной строке. Для реакции на выбор строки нужно привязаться к событию <<TreeviewSelect>> дерева (в принципе можно использовать другое событие, например двойной клик левой кнопкой мыши - <Double-Button-1>). Дальше через метод дерева selection нужно получить список id выделенных элементов. Дальше по id можно получить значения в строке.
def on_select(event):
# вывод текстовых id всех выбранных строк
# (их может быть несколько, если при создании дерева не было указано selectmode='browse')
print(treeview.selection())
# Если привязывались не к событию <<TreeviewSelect>>,
# то тут нужно проверить, что вообще что-то выбрано:
if not treeview.selection():
return
# Получаем id первого выделенного элемента
selected_item = treeview.selection()[0]
# Получаем значения в выделенной строке
values = treeview.item(selected_item, option="values")
print(values)
treeview.bind('<<TreeviewSelect>>', on_select)