Как получить доступ к функции обработчика событий из другого модуля?

#python #user-interface #tkinter #event-handling

#python #пользовательский интерфейс #tkinter #обработка событий

Вопрос:

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

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

MainModule.py

 my_button = tk.Button(application_window, text="Example")
my_button.bind("<Enter>", process_event)
 

AmotherModule.py

 def process_event(event):
       print("The process_event function was called.")
 

Комментарии:

1. import AmotherModule и bind(..., AmotherModule.process_event)

Ответ №1:

MainModule.py

 import AmotherModule 

my_button.bind("<Enter>", AmotherModule.process_event)
 

или

 import AmotherModule as am

my_button.bind("<Enter>", am.process_event)
 

или

 from AmotherModule import process_event

my_button.bind("<Enter>", process_event)