2010-03-15 10 views
0

考慮下面這個簡單的程序:如何讓wxPython應用程序不斷更新和執行代碼?

import wx 

class TestDraw(wx.Panel): 
    def __init__(self,parent=None,id=-1): 
     wx.Panel.__init__(self,parent,id,style=wx.TAB_TRAVERSAL) 
     self.SetBackgroundColour("#FFFFFF") 
     self.Bind(wx.EVT_PAINT,self.onPaint) 
     self.SetDoubleBuffered(True) 
     self.circleX=320 
     self.circleY=240 

    def onPaint(self, event): 
     event.Skip() 
     dc=wx.PaintDC(self) 
     dc.BeginDrawing() 
     dc.DrawCircle(self.circleX,self.circleY,100) 
     dc.EndDrawing() 

class TestFrame(wx.Frame): 
    def __init__(self, parent, title): 
     wx.Frame.__init__(self, parent, title=title, size=(640,480)) 
     self.mainPanel=TestDraw(self,-1) 

     self.Show(True) 


app = wx.App(False) 
frame = TestFrame(None,"Test App") 
app.MainLoop() 

我怎樣才能改變它,這樣我可以執行邏輯和以恆定速率重繪面板?我希望圓圈在屏幕上反彈,但我無法弄清楚我會改變它的x和y變量的地方。

回答

3

您可以使用wxTimer定期調用onTimer(self)方法。

相關問題