tkinter - как связать просто управление, а не управление + клавиша? - PullRequest
0 голосов
/ 28 сентября 2019

В Python 3 Tkinter, как мне связать только управляющий ключ с виджетом, а не <control-key>?
Обычно требуется, чтобы к нему также был привязан другой ключ.

1 Ответ

3 голосов
/ 28 сентября 2019

Вы должны будете связать <Control_L> и <Control_R>

import tkinter as tk

def on_press(event):
    print(event)

root = tk.Tk()
root.bind('<Control_L>', on_press)
root.bind('<Control_R>', on_press)
root.mainloop()

В конце концов вы можете использовать <Key>, который выполняется с каждым ключом, а затем проверить event.keysym или event.code

import tkinter as tk

def on_press(event):
    print(event)
    print(event.keysym in ('Control_L', 'Control_R'))
    print(event.keycode in (37, 105))

root = tk.Tk()
root.bind('<Key>', on_press)
root.mainloop()
...