我有以下代码将6个按钮添加到BoxSizer

for word in words:
    btn = wx.Button(self, label=word)
    btn.Bind(wx.EVT_BUTTON, self.onWordSelect)

在我的onWordSelect方法中,我试图删除在Sizer上创建的所有按钮,以便重新创建新按钮。我的问题是,除最后一个按钮外,所有按钮均被删除。

这是我删除按钮的代码:
for child in self.sizer.GetChildren():
    self.sizer.Remove(child.Window)
    self.sizer.Layout()

当检查len(self.sizer.GetChildren())时,它返回0,但是最后一个按钮在屏幕上仍然可见。

最佳答案

http://wxpython.org/docs/api/wx.Sizer-class.html#Remove:



您已从sizer中删除了元素,但它们仍然存在,一个又一个地打印:在循环中将一行添加到destroyhide中,这应该很好。

关于python - python-wxPython尝试从sizer中删除所有按钮,总是留下一个,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13814616/

10-11 03:33