python - Python - 从另一个类中销毁类实例
问题描述
我有一个程序设置了一个导航栏作为它自己的类,每个不同的页面都是它自己的类,如下所示:
class Navigation...
class MainPage...
class page2...
if __name__ == "__main__":
global homepage
root = Tk()
homepage = MainPage(root)
navigation = nav_page(root)
为了加载一个新页面,我尝试删除该类的实例,然后在函数中重新创建另一个页面,如下所示:
class Navigation...
def __init__(self,parent):
mainpage_button = Button(parent, text='mainpage',command=self.load_main()).pack()
secondpage_button = Button(parent, text='2ndpage',command=self.load_2nd()).pack()
def load_2nd(self):
global root
global homepage
del homepage
2nd_page = page2(root)
def load_main(self):
global root
global 2nd_page
del 2nd_page
homepage = MainPage(root)
class MainPage...
class page2...
if __name__ == "__main__":
global homepage
root = Tk()
homepage = MainPage(root)
navigation = nav_page(root)
当我尝试运行它时,我得到
UnboundLocalError: local variable 'MainPage' referenced before assignment
我不知道。它在 if name== 中被引用,当我创建类时,它甚至在加载导航页面之前,它会删除类。
我添加了全球,因为我越来越绝望。我也尝试过使用类。del,但这也不起作用。