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

时间:2010-10-15 14:12:29

标签: python user-interface wxpython wxwidgets

我正在使用wxPython开发GUI。我绘制了一个代表CD对象的正方形,在另一个正方形(也使用wxPanel类)内,它代表CD容器对象。 我想在CDWindow的右键菜单中“删除此CD”,这将删除CDwindow。 基本上,我的代码看起来像这样(为简单起见,我保留了主要部分):

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()

出现错误消息“Segmentation fault” 我的方式出了什么问题?如何从CDContainer窗口中删除此CD窗口?

1 个答案:

答案 0 :(得分:3)

也许有一个sizer仍在使用被破坏的面板?您应首先从分级器中删除面板。