wxpython 窗体不能更新

wxpython 窗体不能更新

当移动窗体时,以前的窗体还留在屏幕上,而把下面注释掉的两句,前面的注释符号取消后,
移动窗体,就正常了,请问这是为什么?ps:是在IDLE下运行的

[Copy to clipboard] [ - ]
CODE:
import wx

class MyFrame(wx.Frame):
    def __init__(self, parent, id, title):
        wx.Frame.__init__(self, parent, id, title)
        self.Bind(wx.EVT_MOVE, self.OnMove)
        self.Bind(wx.EVT_SIZE, self.OnSize)

    def OnSize(self, event):
        size = event.GetSize()
        #print "size:", size.width, size.height

    def OnMove(self, event):
        pos = event.GetPosition()
        #print "pos:", pos.x, pos.y



class MyApp(wx.App):
    def OnInit(self):
        frame = MyFrame(None, -1, "This is a test")
        frame.Show(True)
        self.SetTopWindow(frame)
        return True


def main():
    app = MyApp(0)
    app.MainLoop()


if __name__ == "__main__":
    main()

不知道为什么去掉后正常。在wxPython中,如果你写了一个事件处理函数,并且与事件挂上以后,那么如果你还想使用还来的事件处理,需要调用 event.Skip() ,否则不管你是否返回,这个事件都将不再继续处理。而上面你没有调用event.Skip(),因此事件就此不再处理,因此缺省的动作都没有办法执行了。
limodou正解啊,加了event.Skip()就可以了
什么哦?我这里没有问题啊