Блог веб разработки

Блог веб-разработки статьи | видеообзоры | исходный код

tkinter события

Всем привет. В первой статье по питону мы с вами уже использовали метод обработки события 'клик левой кнопки мыши', пример:

from tkinter import *
window = Tk()
button = Button(text="Нажмите")
def fun(event):
    print("кнопка нажата")
button.bind("<Button-1>", fun)
button.pack()
window.mainloop()

Здесь в окне программы есть кнопка 'Нажмите'. И если мы ее нажмем у нас в консоль выведется сообщение 'кнопка нажата'. Установка обработчика события на кнопку происходит через метод bind() в котором указываются два аргумента:

- событие, в нашем случае это - нажатие левой кнопки мыши.

- название функции, которая будет вызвана при обработке события

Заметьте что в функции которую мы вызываем через обработчик должен быть обязательно аргумент event(объект события).

Отмечу что обработчик событий через метод bind() мы можем вешать на любые элементы:

window = Tk()
def fun(event):
    print("Клик левой кнопкой мыши")
window.bind("<Button-1>", fun)
Щелчок левой кнопкой мыши tkinter

Здесь мы повесили обработчик события на главное окно программы. И теперь при клике по окну нашей программы у нас в консоль будет выводится сообщение.

С общей концепцией работы обработчика мы разобрались теперь давайте перейдем к рассмотрению других событий. До этого момента мы рассмотрели клик левой кнопки мыши , теперь:

def fun(event):
    print("Клик средней кнопки мыши(колесико)")
window.bind("<Button-2>", fun)

Здесь у нас уже при клике колесика мыши выводится сообщение. За клик средней кнопки мыши отвечает событие .

За прокрутку колесика мыши

def fun(event):
    print("Прокрутка колесика мыши")
window.bind("<MouseWheel>", fun)

событие .

За правую кнопку мыши:

def fun(event):
    print("Клик правой кнопкой мыши")
window.bind("<Button-3>", fun)

отвечает событие .

Также есть двойной щелчок левой кнопки мыши:

def fun(event):
    print("Двойной клик левой кнопки мыши")
window.bind("<Double-Button-1>", fun)

здесь используется событие и как я думаю не трудно догадаться что если мы напишем то это будет двойной клик средней кнопки мыши и двойной клик правой кнопки мыши.

Еще мы можем отслеживать событие перемещения мыши:

def fun(event):
    print("Мышка перемещается по окну программы")
window.bind("<Motion>", fun)

За перемещение мыши отвечает событие .

Итак с событиями мыши мы более или менее разобрались теперь переходим к клавишам:

def fun(event):
    print('Нажата клавиша Enter')
window.bind("<Return>", fun)

За обработку нажатия клавиши Enter отвечает событие .

Обработка нажатия пробела происходит

def fun(event):
    print('Нажата клавиша пробел')
window.bind("<space>", fun)

через событие . Как вы наверное уже поняли мы можем в качестве события указывать любую латинскую клавишу:

def fun(event):
    print('Нажата клавиша символа s')
window.bind("<s>", fun)

Для обработки всех клавиш мы можем воспользоваться событием

def fun(event):
    print("Нажата клавиша "+event.char)
window.bind("<Key>", fun)
Обработка событий нажатия клавиш в tkinter

Заметьте что у нас выводятся только символьные и цифровые клавиши. Однако если мы просмотрим объект события event, то увидим что специальные клавиши также обрабатываются этим событием.

def fun(event):
    print(event)
window.bind("<Key>", fun)
События библиотеки tkinter3

На этом дорогие друзья у меня на сегодня все.

Желаю удачи и успехов! Пока!

Оцените статью

Еще статьи

Трейты php

Коммиты GIT

Компоненты php

Слияние веток GIT

Работа с ветками git

Fetch HTML

Маски css

meter html

ЧПУ htaccess

Комментарии

Проверочный код

В данном разделе пока нет комментариев!

История

    ПОДПИСКА

    • Подпишись и получай информацию о выходе новых статей на почту! Просто введите свою почту, нажмите кнопку подписаться. На почту должно будет прийти сообщение с потверждением подписки. Если сообщение не пришло проверьте раздел спам или попробуйте другую почту. Также по всем техническим проблемам вы можете написать в поддержку

    НОВОСТИ

    • Всем привет! Запустил новый сервис для поиска и бесплатного скачивания, прослушивания аудиокниг. Здесь вы можете найти множество литературы и прослушать ее. Вскоре возобновлю написание статей.