Как привязать горячии клавиши в tkinter?

Пользователь

от edyth , в категории: Python , 5 месяцев назад

Как привязать горячии клавиши в tkinter?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от eryn.rodriguez , 5 месяцев назад

@edyth 

Для привязки горячих клавиш в tkinter можно использовать метод bind() для виджета, который должен обрабатывать событие нажатия клавиши.


Приведу пример кода, в котором привязывается горячая клавиша "Ctrl+C" для окна приложения:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from tkinter import *

def handle_key(event):
    if event.keysym == 'c' and event.state == 4:  # Проверяем, что нажаты клавиши 'C' и 'Control'
        print("Горячая клавиша Ctrl+C нажата")

root = Tk()

# Привязываем обработчик к событию нажатия клавиши
root.bind('<Key>', handle_key)

root.mainloop()


В данном примере создается обработчик handle_key(), который вызывается при нажатии любой клавиши в окне приложения. Внутри обработчика проверяется, что нажаты клавиши 'C' и 'Control' (с помощью event.keysym и event.state). Если условие выполняется, выводится сообщение.


Обратите внимание, что для клавиш со специальными символами (например, "Ctrl" или "Shift") используется числовое представление клавиши в event.keysym, которая здесь равна 'c' для нажатия клавиши 'C'.


Таким образом, вы можете настроить обработку различных горячих клавиш в своем приложении с помощью метода bind().