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

标签 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 窗口?

最佳答案

也许还有一个 sizer 仍在使用被破坏的面板?您应该先从 sizer 中移除面板。

关于python - 如何从其父级(另一个 wx.panel 对象)中删除或销毁 wx.panel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3943035/

相关文章:

python - 如何处理模块中的全局变量?

python - 重写基于泛型类的从 URL 参数查找对象的方式

java - 使用 ActionListener 添加到 JList 并在添加后刷新 GUI 框架

java - Android 特定用户界面

python - wx.NotificationMessage 属性错误: 'module' object has no attribute 'NotificationMessage'

python - Python函数的参数长度?

python - 安装 pyparsing、dateuil、six 和 numpy 后无法导入 matplotlib

user-interface - 从 MATLAB GUI 中删除标题栏以实现全屏显示

python - 如何隐藏工具栏中的元素? wxpython

python - wxPython:如何正确选择CListCtrl项?