Любой пользовательский интерфейс предназначен (в том числе, но не только) для того чтобы получать от пользователя информацию и команды.

Когда пользователь жмет на кнопку, или нажимает Ввод в текстовом полеэто событие (event) в программе и, возможно (но не обязательно), программа должна обработать его в одной из своих функций. Такие функции называют Обработчиками Событий.

И мы должны как-то уметь связывать событие (bind) (напр. нажатие на кнопку с функцией обработчиком).

События и связывания событий (event and bind) в Tkinter

В зависимости от виджета в Tkinter у него могут быть одни события, и не быть других. И есть два способа связывания событий с обработчиками:

  • Первый — это указанию виджету обработчика на стандартное для данного виджета событие (например на нажатие или клик по кнопке) через передачу callback в аргументе command этого виджета при создании виджета и перед размещением его в контейнере. При этом не у всех виджетов Tk есть такой аргумент. Например у виджета Button аргумент command есть, а у Label нет.
  • Второй способ — использование метода bind. Этот метод есть у всех виджетов унаследованных от класса Widget.

Также мы можем создавать свои события и назначать их на виджеты. Подробнее о всех этих возможностях в видео:

 

Код примера по работе с обработчиками событий в Tkinter

Полезные ссылки по работе с событиями в Tkinter

А дальше?

Если вам понравится тема Tkinter (вы будете смотреть видео и ставить лайки ;) ) то подробнее о событиях поговорим когда будем вместе изучать каждый виджет Tk по отдельности. В Tk есть интересные способы организации взаимодействия с пользователем (как в css) в виде последовательности событий и я с удовольствием бы поснимал видео с экспериментами, если их будут смотреть ;)))