Как я могу связать клавишу ввода с командой, когда кнопка делает то же самое? - PullRequest
0 голосов
/ 19 февраля 2020

У меня есть функция whiten class. Также есть кнопка, которая активирует функцию. Я также хочу сделать так, чтобы пользователь мог нажать клавишу ввода, и он запустит функцию.

мой текущий код выглядит примерно так (упрощенно)

myButton = Button(text = "My Button", command = self.myFunction)
root.bind('<Return>', self.myFunction2)

def myFunction(self):
   pass

def myFunction(self, event):
   pass

Я использую 2 функции, потому что другой ответ здесь сказал, что это будет работать, если я добавлю другой аргумент в одну из функций (в данном случае вызывается событие)

Этот код работает, но я хочу найти более эффективный способ сделать это, так как каждая функция довольно длинная, и мне сложно менять их обе, когда я делаю изменение.

Если я пытаюсь связать клавишу ввода с myFunction (self), я получаю сообщение об ошибке, говорящее о 2-х позиционных выходах на пенсию.

1 Ответ

2 голосов
/ 19 февраля 2020

Определите вашу функцию как

def myFunction(self, event=None):

Это будет принимать вызов с или без аргумента event. None используется как значение по умолчанию для event, если оно не передано.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...