Как отключить событие только при нажатии клавиши enter

#python #tkinter #events

Вопрос:

Я хочу отключить событие lt;KeyReleasegt; только при нажатии клавиши enter, потому что у меня есть две функции, которые используют событие lt;KeyReleasegt;lt;Returngt; или событие lt;Returngt;lt;KeyReleasegt;, но когда я нажимаю enter для активации функции, которая использует событие lt;KeyReleasegt;lt;Returngt;, другая функция, которая активируется с событием lt;Returngt;lt;KeyReleasegt;, также активируется, и это проблема. Все, что я искал, просто говорило об отключении определенного ключа, но мне нужно, чтобы клавиша ввода была включена для активации одной из функций.

 import tkinter as tk   root = tk.Tk() root.geometry("500x500 0 0")   def function1(e):  print('hi')   def function2(e):  print('hello')   root.bind("lt;Returngt;", function1) root.bind("lt;KeyReleasegt;", function2)   root.mainloop()  

Ответ №1:

Вы можете выйти, function2 если была нажата клавиша Enter. Для этого вы можете проверить keysym свойство события:

 def function2(e):  if e.keysym == 'Return':  return  print('hello')