Как получить данные из ячейки таблицы при клике по ней?

У меня есть таблица Tkinter/Treeview связанная с базой данных sqlite3.

Я вижу, что могу при нажатии кнопки мыши выделить синим строку в GUI, следовательно он понимает к какому полю я обращаюсь. Я могу сортировать вывод из бд нажатием на заголовок, и он выводит сортировку по значением в столбце. Раз он может определить и строку и колонку - должна быть функция что бы получить, в формате текста, данные из конкретной ячейки таблицы, которую выбрали нажатием мыши. Что это за функция?

Не могу найти функцию что бы получить данные из конкретной ячейки таблицы. Хочу сделать кнопку, которая открывает файл средствами windows по абсолютной ссылке хранящейся в базе данных, вид таблицы:

столбец со ссылками скрыт

введите сюда описание изображения


Ответы (1 шт):

Автор решения: insolor

На основе кода из этого ответа (@SunBear):

def on_select(event):
    # Получить данные из строки, которая сейчас в фокусе:
    cur_item = tree.item(tree.focus())   

    # Определить номер текущей колонки по положению указателя мыши:
    col = tree.identify_column(event.x)

    print ('cur_item =', cur_item)
    print ('col =', col)

    if col == '#0':  # Колонка дерева
        cell_value = cur_item['text']
    else:  # Колонки значений
        # Номер колонки приходит в виде #2, отрезаем # в начале, приводим к целому числу
        index = int(col[1:]) - 1
        cell_value = cur_item['values'][index]

    print ('cell_value =', cell_value)

...

tree.bind('<ButtonRelease-1>', on_select)
→ Ссылка