Полный набор типов событий довольно велик, но многие из них не часто используются. Вот большинство из них, которые вам понадобятся:
| Тип | Имя | Описание |
|---|---|---|
| 36 | Activate |
Виджет переходит из состояния неактивности в состояние активности. Это относится к изменениям в параметре state виджета, например, кнопка переходит из неактивного состояния (закрашена серым) в активное. |
| 4 | Button |
Пользователь нажал одну из кнопок мыши. В части detail указывается, какую именно кнопку. Для поддержки колеса мыши в Linux используйте Button-4 (прокрутка вверх) и Button-5 (прокрутка вниз). В Linux ваш обработчик привязки к колесу мыши будет различать прокрутку вверх и прокрутку вниз, исследуя поле .num экземпляра Event; см. раздел 54.6, "Написание обработчика: класс Event". |
| 5 | ButtonRelease |
Пользователь отпустил кнопку мыши. В большинстве случаев это событие лучше, чем событие Button, потому что если пользователь случайно нажмет на кнопку, он сможет убрать мышь с виджета, чтобы не вызвать событие. |
| 22 | Configure |
Пользователь изменил размер виджета, например, перетянув угол или сторону окна. |
| 37 | Deactivate |
Виджет переходит из состояния активности в состояние неактивности. Это относится к изменениям в параметре state виджета, например, радиокнопка переходит из активного состояния в неактивное (закрашивается серым цветом). |
| 17 | Destroy |
Виджет уничтожается. |
| 7 | Enter |
Пользователь переместил указатель мыши в видимую часть виджета. (Это отличается от нажатия клавиши Enter, которое является событием KeyPress для клавиши, название которой на самом деле 'return'). |
| 12 | Expose |
Это событие происходит всякий раз, когда хотя бы часть вашего приложения или виджета становится видимой после того, как она была закрыта другим окном. |
| 9 | FocusIn |
Виджет получил фокус ввода. Это может произойти как в ответ на событие пользователя (например, при использовании клавиши табуляции для перемещения фокуса между виджетами), так и программно (например, ваша программа вызывает .focus_set() на виджете). |
| 10 | FocusOut |
Фокус ввода был перемещен из виджета. Как и в случае с FocusIn, пользователь может вызвать это событие, или ваша программа может вызвать его. |
| 2 | KeyPress |
Пользователь нажал клавишу на клавиатуре. В части detail указывается, какую именно клавишу. Это ключевое слово может быть сокращено до Key. |
| 3 | KeyRelease |
Пользователь отпустил клавишу. |
| 8 | Leave |
Пользователь вывел указатель мыши из виджета. |
| 19 | Map |
Виджет отображается, то есть становится видимым в приложении. Это происходит, например, при вызове метода .grid() виджета. |
| 6 | Motion |
Пользователь перемещает указатель мыши внутри виджета. |
| 38 | MouseWheel |
Пользователь переместил колесико мыши вверх или вниз. В настоящее время эта привязка работает в Windows и MacOS, но не в Linux. Для Windows и MacOS см. обсуждение поля .delta экземпляра Event в разделе 54.6, "Написание обработчика: класс Event". Для Linux см. примечание выше в графе Button этой таблицы. |
| 18 | Unmap |
Виджет отключается и больше не виден. Это происходит, например, при использовании метода .grid_remove() виджета. |
| 15 | Visibility |
Происходит, когда хотя бы часть окна приложения становится видимой на экране. |