У меня неприятная проблема. Я пытаюсь создать переднюю панель на основе классов для своего приложения, чтобы все было в порядке, но у меня возникла проблема с обновлением полей в подклассе windows.
В следующем коде "main_lbl" - обновляется правильно, но "dev_lbl" внутри Frame_1 - нет.
class Frame_1(tk.Frame):
def __init__(self, parent):
tk.Frame.__init__(self, parent)
...
self.dev_lbl = tk.Label(self, text="__init__")
self.dev_lbl.pack(side="top", fill="x", expand=1)
class MainApp(tk.Tk):
def __init__(self, master=None, title="MAIN", size="222x333+100+100"):
super().__init__()
EF = Frame_1(self).pack(side="top", padx=2, pady=2, fill="x", expand=True)
self.main_lbl.tk.Label(self, text="Main init")
self.main_lbl.pack(side="bottom")
#<RUN mainloop()>
self.update_GUI()
self.mainloop()
def update_GUI(self):
update_delay = 10
self.main_lbl["text"] = "updated"
Frame_1(self).dev_lbl["text"] = "updated"
self.after(update_delay, self.update_GUI)
root = MainApp(title="BRIDGE")
Я также пробовал использовать tk.StringVar () ... тот же результат.
Advice?
Спасибо, Радован
PS: Вообще-то хотелось бы, чтобы отображение было в отдельном окне. Я пробовал tk.Toplevel:
class ShowVariables(tk.Toplevel):
def __init__(self, parent=None):
super().__init__(parent)
self.parent = parent
self.all_dev_lbl = tk.Label(self.Bot_frame, text="__init__")
self.all_dev_lbl.pack(side="top", fill="x", expand=1)
, но это тоже не сработало.