伙计们,我对 python 很陌生,并且正在学习它来构建一个 gui 应用程序(使用 wypython)。我有一个与python中的对象破坏有关的问题。例如在 myFrame 我有 onNew(创建一个新文档)和 onOpen(打开一个文件)方法。
简而言之,它看起来像这样。
def onNew
self.data=DataModel()
self.viewwindow=ViewWindow(self.data)
def onOpen
dlg = wx.FileDialog(self, "Open file", os.getcwd(), "", "*.*", wx.OPEN)
if dlg.ShowModal() == wx.ID_OK:
self.data=DataModel.from_file(...)
self.view=View(self.data)
现在,我想考虑“如果用户再次点击打开或新建,在他点击之前。”
所以对于窗口类,我可以调用self.viewwindow.Destroy()
来销毁窗口。数据模型对象呢?如果我先调用 new: self.data=DataModel()
,然后调用 open 和 re-assign self.data=DataModel.from_file(...)
,那么旧实例呢?我需要自己破坏它还是python会管理这种破坏?