Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/07/2011, 14:28
poeta3d
 
Fecha de Ingreso: diciembre-2010
Mensajes: 162
Antigüedad: 14 años
Puntos: 1
problema de novato con nombre global

tengo este codigo
Código Python:
Ver original
  1. def onleftdown(self,event):
  2.         pt=event.GetPosition()
  3.         d=event.GetPosition()[0]
  4.         e=event.GetPosition()[1]
  5.         print d,e
  6.         d=x
  7.         e=y
  8.         evento=False
  9.     def onpaint(self,event):
  10.         global evento
  11.         global d
  12.         evento=True
  13.         dc=wx.PaintDC(self)
  14.         dc.SetBrush(wx.Brush("YELLOW"))
  15.         dc.DrawRectangle(0,0,700,700)
  16.         dc.SetPen(wx.Pen("RED"))
  17.         dc.DrawLine(0,350,700,350)
  18.  
  19.         dc2=wx.PaintDC(self)
  20.         dc2.SetBrush(wx.Brush("GREEN"))
  21.         dc2.DrawCircle(10,10,50)
  22.         if evento==True:
  23.             dc2.DrawCircle(d,e,50)

y me dice nombre global "d" no esta definido, con poner global d no alcanza para usar esa variable d en el evento onpaint?? si alguien me puedira explicar que esta mal y como debo encarar este codigo les agradeceria mucho se entiende lo que quiero hacer con dc2.DrawCircle(d,e,50). espero que si. kise utilizar la tupla que entrega GetPosition para volcarla en
Código Python:
Ver original
  1. if evento==True:
  2.    dc2.DrawCircle(d,2,50)
asi si clickeaba en el punto 0,0 por ejemplo del frame dibujaba el circulo en esa posicion.Pero lo que mas se me complica es con el error sobre el nombre global,etc

Última edición por razpeitia; 19/07/2011 a las 14:49 Razón: Resaltado de sintaxis