В Tkinter есть мощный и общий метод, позволяющий вам точно определить, какие события, как специфические, так и общие, вы хотите связать с обработчиками.
В общем случае последовательность событий - это строка, содержащая один или несколько шаблонов событий. Каждый шаблон события описывает одну вещь, которая может произойти. Если в последовательности более одного шаблона события, обработчик будет вызван только тогда, когда все шаблоны произойдут в этой последовательности.
Общая форма шаблона события выглядит следующим образом:
<[modifier-]...type[-detail]>
Весь шаблон заключен внутри <...>.
Тип события описывает общий тип события, например, нажатие клавиши или клик мыши. См. раздел 54.3, "Типы событий".
Перед типом можно добавить необязательные элементы modifier, чтобы указать такие комбинации, как нажатие клавиш Shift или Control во время других нажатий клавиш или кликов мыши. См. раздел 54.4, "Модификаторы событий"
Вы можете добавить необязательные элементы detail, чтобы описать, какую клавишу или кнопку мыши вы ищете. Для кнопок мыши это: 1 для кнопки 1, 2 для кнопки 2 или 3 для кнопки 3.
Обычно кнопка 1 располагается слева, а кнопка 3 - справа, но левши могут поменять эти позиции местами.
Для клавиш на клавиатуре это либо символ клавиши (для односимвольных клавиш, например A), либо имя клавиши; список всех имен клавиш см. в разделе 54.5, "Имена клавиш".
Приведем несколько примеров, чтобы дать вам представление о шаблонах событий:
<Button-1> |
Пользователь нажал первую кнопку мыши. |
<KeyPress-H> |
Пользователь нажал клавишу H. |
<Control-Shift-KeyPress-H> |
Пользователь нажал Control-Shift-H. |