我有以下代码将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中删除了元素,但它们仍然存在,一个又一个地打印:在循环中将一行添加到destroy
或hide
中,这应该很好。
关于python - python-wxPython尝试从sizer中删除所有按钮,总是留下一个,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13814616/