У меня в основном есть два сценария Python Test_A и Test_B.Оба эти интерфейса основаны на tkinter.Я пытаюсь открыть один графический интерфейс с помощью другого.У меня есть кнопка в каждом из GUI, который открывает другой, и функция, которая соответствует кнопке, разрушает текущий GUI.К сожалению, я не могу уничтожить объект TK (), созданный с использованием одного класса в другом.Есть ли способ обойти эту проблему?Например, когда я запускаю Test_A.py и нажимаю « кнопка открытия GUI 2 », открывается второй графический интерфейс, теперь, когда я нажимаю кнопку « Open GUI 1» "первый не открывается и говорит, что NameError: имя« window2 »не определено.
Мои два сценария следующие:
from tkinter import *
from Test_B import *
class Test_A_class(Frame):
def F1(self):
Window1.destroy()
Window2 = Tk()
Tool = Test_B_class(Window2)
Window2.mainloop()
def widgets(self):
self.Button = Button(self, command=self.F1, text="Open GUI 2", width=15)
self.Button.pack()
def __init__(self, initial):
super().__init__()
self.pack()
self.widgets()
if __name__ == "__main__":
Window1 = Tk()
Tool = Test_A_class(Window1)
Window1.mainloop()
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
from tkinter import *
from Test_A import *
class Test_B_class(Frame):
def F2(self):
Window2.destroy()
Window1 = Tk()
Tool = Test_A_class(Window1)
Window1.mainloop()
def widgets(self):
self.Button = Button(self, command=self.F2, text="Open GUI 1", width=15)
self.Button.pack()
def __init__(self, initial):
super().__init__()
self.pack()
self.widgets()
if __name__ == "__main__":
Window2 = Tk()
Tool = Test_B_class(Window2)
Window2.mainloop()
Ошибка следующая:
Window2.destroy()
NameError: name 'Window2' is not defined