Вы должны использовать строку '<Return>a'
и добавить имя функции
root.bind('<Return>a', hh)
, но она будет работать hh()
при нажатии a
сразу после Enter
import tkinter as tk
def hh(event):
print('hello')
root = tk.Tk()
root.bind('<Return>a', hh)
root.mainloop()
Если вы хотите запустить hh()
, когда вы нажимаете Enter
ИЛИ a
, вам нужно два связывания
root.bind('<Return>', hh)
root.bind('a', hh)
import tkinter as tk
def hh(event):
print('hello')
root = tk.Tk()
root.bind('<Return>', hh)
root.bind('a', hh)
root.mainloop()
РЕДАКТИРОВАТЬ:
В отредактированном вопросе я вижу <Shift>
, поэтому, возможно, это должно быть Shift + a
? Потребовалось бы A
root.bind('A', hh) # Shift + a
Во второй ошибке я вижу Return,
, но, возможно, это должно быть Shift + ,
со специальным именем <less>
root.bind('<less>', hh) # Shift + ,
В ответечтобы .bind () не работал для привязок клавиш Shift? Я показал код, который отображает keysym
для нажатой клавиши и который можно использовать в bind()
import tkinter as tk
def test(event):
print('keysym:', event.keysym)
root = tk.Tk()
root.bind('<Key>', test)
root.mainloop()
Некоторые именавы можете найти в документации Tcl / Tk - keysym
Но нет специальных keysym
для Return + a
или Return + ,
, потому что это необычная комбинация, и, возможно, ее нужно держать нажатой. Return
/ Enter
и затем нажмите a
или ,
. Или нажмите Return
, отпустите Return
и нажмите a
или ,