我有一个wx.Frame
来自 wxPython 的信息,想对调整大小进行中间和最终更新。
因为我没有找到调整大小结束事件,所以我的方法是wx.EVT_SIZE
在我开始的计时器中进行中间更新和最终更新wx.EVT_SIZE
。它大部分时间都在工作,但有时它会挂起threading.Timer.start
(意思Before
是最后打印[见代码])。你知道为什么吗?
这是调整大小处理程序和计时器方法的代码:
def _on_resize(self, event):
self.Layout()
self._resize_lock.acquire()
print 'resize event'
#Intermediate update is done here
self._resize_lock.release()
if self._resize_timer != None:
self._resize_timer.cancel()
self._resize_timer = threading.Timer(0.75,
self._resize_timer_method)
print 'Before'
self._resize_timer.start()
print 'After'
def _resize_timer_method(self):
self._resize_lock.acquire()
print 'resize timer'
#Final update is done here
self._resize_lock.release()
PS:如果您知道如何获得调整大小结束事件,请告诉我。