I once dabbled with wxPython. The code below may not run straight off as I've cut it out of a bigger routine, but it may give you a flavour of a basic (very basic) set up.
import wx import math def drawCircle (radius, canvas, strCol): centre = (100,100) cX = centre[0] cY = centre[1] dc = canvas dc.SetPen(wx.Pen(strCol, 5)) x1 = 0 y1 = math.sqrt ( math.pow (radius,2) - math.pow(x1, 2) ) for x2 in range ( 1, radius + 1 , 1 ): y2 = math.sqrt ( math.pow (radius,2) - math.pow(x2, 2) ) dc.DrawLine ( cX+ x1 , yCorr ( cY + y1 ), cX + x2, yCorr (cY + y2) ) dc.DrawLine ( cX+ x1 , yCorr ( cY - y1 ), cX + x2, yCorr (cY - y2) ) dc.DrawLine ( cX- x1 , yCorr ( cY + y1 ), cX - x2, yCorr (cY + y2) ) dc.DrawLine ( cX- x1 , yCorr ( cY - y1 ), cX - x2, yCorr (cY - y2) ) y1 = y2 x1 = x2 def on_paint(event): dc = wx.PaintDC(event.GetEventObject()) dc.Clear() drawCircle ( 50, dc, 'GREEN') app = wx.App(False) frame = wx.Frame(None, title="Draw on Panel") panel = wx.Panel(frame) panel.Bind(wx.EVT_PAINT, on_paint) #panel.Bind(wx.EVT_LEFT_DOWN, on_mouseClick) panel.SetFocusIgnoringChildren() panel.Bind(wx.EVT_KEY_DOWN, on_KeyDown ) frame.Show(True) app.MainLoop()
_______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor