みんな、私は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 がこの破壊を管理しますか?