新wxpython控件未显示直到调整大小
我在wxPython中创建了一个自定义控件(基于面板),这个控件可以在里面显示一系列自定义控件。用户需要能够随意添加行,并且这些行能够显示出来。但是,我在添加新控件后,发现它们并没有实际显示出来。我知道它们是存在的,因为在调整窗口大小后,或者在调用Show()
之前添加它们时,它们会出现。我觉得这应该是个基本的问题,但我找不到错误在哪里。
添加功能的代码看起来是这样的:
def addRow(self, id, reference, page, title, note):
newRow = NoteListRow(self.listPanel, id, reference, page, title, note)
self.listSizer.Add(newRow, flag=wx.EXPAND | wx.LEFT)
self.rows.append(newRow)
if len(self.rows) == 1:
self.highliteRow(newRow)
self.Refresh()
self.Update()
return newRow
我想我可能对刷新和更新的行为理解得不够,所以如果能有一些关于这些内容的详细参考资料,那肯定会很有帮助。
1 个回答
3
试试用 self.Layout()
这个方法。
也可以试试 self.GetParent().Layout()
。
记得加上 Refresh()
。
其实用 Update()
是不太需要的。