如何从其父级删除或销毁wx.panel(另一个wx.panel对象)?

3 投票
1 回答
3781 浏览
提问于 2025-04-16 05:32

我正在用wxPython开发一个图形用户界面(GUI)。我画了一个方块,代表一个CD对象,放在另一个方块里面(也是用wxPanel类),这个方块代表CD容器对象。
我想在CD窗口的右键菜单中添加“删除这个CD”选项,这样可以把CD窗口去掉。
基本上,我的代码看起来是这样的(为了简单起见,我只保留了主要部分):

class CDContainerWindow(wx.Panel):    
   def __init__(self):
       wx.Panel.__init__(self, parent, id, pos, size)  
       cd_win=CDWindow()

class CDWindow(wx.Panel):  
   def __init__(self):
      wx.Panel.__init__(self, parent, id, pos, size)
      self.Bind(wx.EVT_MENU, self.OnDeleteCD, item_CD)

   def OnDeleteCD(self, event):
      self.destroy()

但是出现了一个错误信息“段错误”。
我这样做有什么问题呢?我该如何从CD容器窗口中删除这个CD窗口呢?

1 个回答

3

可能有一个布局管理器还在使用已经被删除的面板?你应该先把这个面板从布局管理器中移除。

撰写回答