Доброго времени суток, читатели, зрители моего канала programmer's notes. Не забывайте подписываться и писать свои комментарии к моим статьям и видео.
Обработка событий мыши и клавиатуры в окне на tkinter
Сегодня рассматриваем события в окне. Не все, конечно, только связанные с мышью и клавиатурой. И здесь tkinter предлагает очень простые решения.
Ниже (рисунок 1) представлена программа, обрабатывающая события мыши и клавиатуры (см. Рисунок 2). События мыши отображаются внизу окна в поле ввода. В частности координаты курсора мыши и какая клавиша нажата. При нажатии клавиши Esc предлагается выйти из программы.
Пояснения к программе.
- Обратим внимание на метод Tk.bind() позволяющий связать событие с обработчиком: методом или просто функцией. События указываются в угловых скобках. <Button-1> - нажатие левой кнопки мыши, <Button-2> - нажатие средней кнопки мыши, <Button-3> - нажатие правой кнопки мыши, <Motion> - движение мыши, <KeyPress> - нажатие любой клавиши на клавиатуре.
- Функции обработки событий получают в качестве параметра объект event, в котором, в частности, есть относительные координаты мыши (см. метод mv()). При обработке нажатия клавиш важным свойством объекта является свойство keycode. Для каждой клавише значение своё. Для любой клавиши можно вывести keycode на консоль и узнать значение. В частности для Esc это значение равно 9, это значение мы и используем.
- Наконец, мы использовали диалоговое окно (askyesno) модуля message, с ними мы ещё познакомимся в дальнейшем.
При написании программы были использованы материалы предыдуще статьи по данной теме.
Пока всё! Продолжение следует...
Пишите свои предложения и замечания, и занимайтесь программированием, а также проектированием баз данных, хотя бы для поддержания уровня интеллекта.