手动触发wx.EVT_SIZE事件

时间:2014-01-31 13:00:15

标签: python wxpython wxwidgets

为了刷新我的GUI,有时self.Refresh()self.Layout()不会产生我想要的结果。

唯一有效且真正刷新GUI的方法是:用

手动触发wx.EVT_SIZE
s = self.GetSize()
self.SetSize((0,0))
self.SetSize(s)

是否有更清洁方式手动触发wx.EVT_SIZE

1 个答案:

答案 0 :(得分:4)

使用wxWindow::PostSizeEvent()

但请注意,如果您避免手动处理wxEVT_SIZE(您似乎根据其他问题进行了操作)并且只使用了sizer,那么简单的Layout()就足够了。

而且,FWIW,Refresh()根本与大小无关,只会重新绘制窗口,即可用于触发对wxEVT_PAINT的调用,而不是{{1} ,处理程序。