Как я могу заставить приложение wxPython постоянно обновлять и выполнять код? - PullRequest
0 голосов
/ 16 марта 2010

Учитывая следующую простую программу:

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.

1 Ответ

3 голосов
/ 16 марта 2010

Вы можете использовать wxTimer для периодического вызова метода onTimer(self).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...