Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 手动触发wx.EVT_大小事件_Python_Wxpython_Wxwidgets - Fatal编程技术网

Python 手动触发wx.EVT_大小事件

Python 手动触发wx.EVT_大小事件,python,wxpython,wxwidgets,Python,Wxpython,Wxwidgets,为了刷新我的GUI,有时self.refresh(),self.Layout()不会产生我想要的结果 唯一有效并真正刷新GUI的方法是:使用 s = self.GetSize() self.SetSize((0,0)) self.SetSize(s) 是否有更干净的方法手动触发wx.EVT_SIZE?使用wxWindow::PostSizeEvent() 但是,请注意,如果您避免手动处理wxEVT_SIZE(这似乎是基于您的其他问题而做的),而只是使用大小调整器,那么简单的Layout()就足

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

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

s = self.GetSize()
self.SetSize((0,0))
self.SetSize(s)

是否有更干净的方法手动触发
wx.EVT_SIZE

使用
wxWindow::PostSizeEvent()

但是,请注意,如果您避免手动处理
wxEVT_SIZE
(这似乎是基于您的其他问题而做的),而只是使用大小调整器,那么简单的
Layout()
就足够了


而且,FWIW,
Refresh()
与大小没有任何关系,它只会导致重新绘制窗口,即可以用来触发调用您的
wxEVT\u PAINT
,而不是
wxEVT\u size
,处理程序。

使用
wxWindow::PostSizeEvent()

但是,请注意,如果您避免手动处理
wxEVT_SIZE
(这似乎是基于您的其他问题而做的),而只是使用大小调整器,那么简单的
Layout()
就足够了


而且,FWIW,
Refresh()
与大小没有任何关系,它只会导致重新绘制窗口,即可以用来触发调用您的
wxEVT\u PAINT
,而不是
wxEVT\u size
,处理程序。

谢谢。您知道在
wxpython
中它是如何调用的吗?谢谢。您知道在
wxpython
中如何调用它吗?