Для управления объектом вам нужна ссылка на объект. В этом конкретном c случае вам нужно сделать led_A
атрибутом экземпляра, чтобы вы могли ссылаться на него. Вам также необходимо добавить метод в ваш контроллер, чтобы дать вам доступ к экземпляру Graph
.
Чтобы сделать led_A
атрибутом экземпляра:
class Graph(tk.frame):
def __init__(self,parent,controller):
...
photo = PhotoImage(file='1.jpg')
self.led_A = label(self, image = photo)
...
Чтобы добавить метод в контроллер, сделайте что-то вроде этого:
class home(tk.Tk)
...
def get_frame(self, frame_class):
return self.frames[frame_class]
В идеале, func_A
не должен ничего знать о том, как Graph
реализован, поскольку func_A
не внутри Graph
. Это означает, что вам нужно добавить функцию к Graph
, которая будет добавлять или удалять светодиод.
class Graph(tk.frame):
...
def turn_on_led(self):
self.led_A.grid(...)
Наконец, вам нужно изменить fun_A
, чтобы использовать этот метод для получения ссылки на график и вызвать функцию:
def fun_A():
graph = app.get_frame(Graph)
graph.turn_on_led()