Я пытаюсь настроить графический интерфейс в Python с помощью guizero, но у меня возникают проблемы при передаче параметров в мой обработчик нажатия клавиш.Если я оставлю свой вызов функции пустым, по умолчанию параметр event_data заполняется информацией о событии.Если я попытаюсь передать свой собственный параметр, он не пропустит event_data автоматически.У меня возникают проблемы с выяснением, как передать свой собственный параметр, сохраняя при этом переменную event_data по умолчанию.Кто-нибудь знает, как установить это, чтобы я мог передать свой собственный параметр в мой обработчик событий, сохраняя при этом event_data?
Вот документация о событии для guizero.Они не проходят передачу параметров, но это может помочь: https://lawsie.github.io/guizero/events/
Я пытался передать значения по умолчанию или не указывать значения или саму event_data, но я не смог заставить что-либо работать при заполнениив параметре.
Это работает:
def keypress(data):
if data.key == "\u001B":
toggle_fullscreen()
app.when_key_pressed = keypress
Но когда я пытаюсь передать свой собственный параметр:
def keypress(data, fullscreen):
if data.key == "\u001B":
toggle_fullscreen(fullscreen)
app.when_key_pressed = keypress(fullscreen)
Возвращает ошибку, поскольку только 1 аргументпоставлено из 2 обязательных
ОБНОВЛЕНИЕ:
Я попытался настроить функцию для приема обоих параметров и ничего не передал ей:
def keypress(data, fullscreen):
if data.key == "\u001B":
toggle_fullscreen()
app.when_key_pressed = keypress
И я получил ошибку:
------------------------------------------------------------
*** GUIZERO WARNING ***
An event callback function must accept either 0 or 1 arguments.
The current callback has 2 arguments.
------------------------------------------------------------
Значит ли это, что я не смогу передать какие-либо параметры своим обработчикам событий?