Hi I am trying to write an PAINT like application where on the mouse click a circle is drawn on canvas. I am new to python and using wxpython to create this.
here is the code: import wx class SketchWindow(wx.Window): def __init__ (self, parent,ID): wx.Window.__init__(self, parent, ID) self.panel =wx.Panel(self, size= (350,350)) self.pen=wx.Pen( 'blue',4) self.pos=(0,0) self.InitBuffer() self.Bind(wx.EVT_LEFT_DOWN,self.OnLeftDown) def InitBuffer(self): size=self.GetClientSize() self.Buffer=wx.EmptyBitmap(size.width,size.height) dc=wx.BufferedDC(None,self.buffer) dc.SetBackground(wx.Brush(self.GetBackgroundColour())) dc.Clear() self.Drawcircle(dc) self.reInitBuffer=False def OnLeftDown(self,event): self.pos=event.GetPositionTuple() self.CaptureMouse() def Drawcircle(self,dc): pen=wx.Pen(colour,thickness,wx.SOLID) dc.SetPen(pen) dc.DrawCircle(self.pos.x,self.pos.y,r) class SketchFrame(wx.Frame): def __init__(self, parent): wx.Frame.__init__(self, parent, -1, "Sketch Frame",size=(800,600)) self.sketch = SketchWindow(self, -1) if __name__=='__main__': app=wx.PySimpleApp() frame=SketchFrame(None) frame.Show(True) app.MainLoop() I am getting the following error: Traceback (most recent call last): File "C:/Python26/circle.py", line 42, in <module> frame=SketchFrame(None) File "C:/Python26/circle.py", line 38, in __init__ self.sketch = SketchWindow(self, -1) File "C:/Python26/circle.py", line 12, in __init__ self.InitBuffer() File "C:/Python26/circle.py", line 19, in InitBuffer dc=wx.BufferedDC(None,self.buffer) AttributeError: 'SketchWindow' object has no attribute 'buffer' Please tell me what I am doing wrong. Thanks -- Madhura -- http://mail.python.org/mailman/listinfo/python-list