На этом шаге мы рассмотрим методы, используемые для перехвата событий.
Есть возможность установить перехват событий, при котором какой-либо компонент будет обрабатывать все события всех типов, что возникают во всех без исключения компонентах приложения, включая и контейнеры. Для этого компоненты библиотеки Tkinter поддерживают следующие методы:
self.btnAll.grab_set()
self.btnAll.bind("<Button>", self.button_handler)
Теперь все без исключения события, возникающие в компонентах приложения, будут перехватываться кнопкой btnAll. Если возникшее событие относится к типу Button, будет вызван метод-обработчик button_handler().
Метод grab_set() задает обычный, или локальный, перехват событий, при котором компонентом перехватываются только события, возникающие в текущем приложении;
Метод grab_set_global() может нарушить нормальное функционирование других приложений, так что его следует использовать с осторожностью.
На следующем шаге мы рассмотрим указание опций у компонентов.