为了刷新我的GUI,有时self.Refresh()
,self.Layout()
不会产生我想要的结果。
唯一有效且真正刷新GUI的方法是:用
手动触发wx.EVT_SIZE
s = self.GetSize()
self.SetSize((0,0))
self.SetSize(s)
是否有更清洁方式手动触发wx.EVT_SIZE
?
答案 0 :(得分:4)
使用wxWindow::PostSizeEvent()
。
但请注意,如果您避免手动处理wxEVT_SIZE
(您似乎根据其他问题进行了操作)并且只使用了sizer,那么简单的Layout()
就足够了。
而且,FWIW,Refresh()
根本与大小无关,只会重新绘制窗口,即可用于触发对wxEVT_PAINT
的调用,而不是{{1} ,处理程序。