[pyar] wxPython, segundo round
Sebastian Scheib
stackpointerex en gmail.com
Jue Feb 9 15:56:02 ART 2012
Tercer Round:
def OnPaint(self,e):
dc=wx.PaintDC(self)
for x in range(1,19):
for y in range(1,19):
if(self.tablero.get_valor(x,y)==1):
print self.tablero.get_valor(x,y)
dc.DrawCircle(x*50,y*50,10)
if(self.tablero.get_valor(x,y)==2):
print self.tablero.get_valor(x,y)
dc.DrawCircle(x,y,10)
DirectorioImagenes = os.getcwd()+"\images\g19x19.png"
bitmap=wx.Bitmap(DirectorioImagenes)
dc.DrawBitmap(bitmap,20,20)
dc.SetBrush(wx.Brush('#A4A4A4'))
dc.DrawRectangle(570,40,600,150)
En la primera pasada, todos los valores de tablero.get_valor van a ser 0,
pero apenas aprieto un botón esto cambia.
El tema es que aprieto un botón que me cambia un valor de tablero y si bien
se que entra al bucle al detectar el valor 1 o 2(le agregué esos print por
ejemplo y los manda), no me dibuja el círculo (es como si no me refrescara
lo que le hago)
Ahora se que el tema está después de que aprieto el botón porque si le saco
los if o si hago un if que cumpla antes de presionar el botón me muestra
los círculos.
Disculpen que esté rompe con el tema pero estoy con muchas ganas de sacar
que es lo que me falta para que funcione XD.
Saludos y gracias por la paciencia que me muestran.
El 8 de febrero de 2012 18:24, Sebastian Scheib
<stackpointerex en gmail.com>escribió:
> Sigo probando sin éxito, a veces si cambio el lugar donde hago el bind
> queda colgadísimo. Ahora estoy de nuevo en donde no me muestra nada. La
> cosa es que me vaya agarrando un archivo sgf (para los que saben jugar go
> saben de que hablo) y va leyendo jugada a jugada y poniendo un circulo en
> el tablero (por ahora no lo tengo bien el mapa pero quería que al menos me
> aparezca un circulo que haría de pieza).
>
> (Por ahora el script es muy burdo, es una primera aproximación, pero me
> gustaría que se hiciera un refresh con la situación del tablero cada vez
> que le doy al botón de avanzar)
>
> Les paso el archivo con el sgf con el que estoy probando y una imagen por
> si alguien tiene ganas de verlo.
>
> Muchas gracias!
>
>
> El 7 de febrero de 2012 10:40, Ismael Bejarano <ismaelbej en gmail.com>escribió:
>
>> Hola,
>>
>> El feb 7, 2012 8:40 a.m., "Sebastian Scheib" <stackpointerex en gmail.com>
>> escribió:
>>
>> >
>> > Ahora le agregué un "self" al principio y empezó a tener algo de forma
>> la cosa, el problema es que ahora:
>> >
>>
>> Hacer el PaintDC parte del objeto no es correcto, el PaintDC solo es
>> válido dentro del evento PAINT.
>>
>> > def OnPaint(self,e):
>> > self.dc=wx.PaintDC(self)
>> > DirectorioImagenes = os.getcwd()+"\images\g19x19.png"
>> > self.bitmap=wx.Bitmap(DirectorioImagenes)
>> > self.dc.DrawBitmap(self.bitmap,20,20)
>> > self.dc.SetBrush(wx.Brush('#A4A4A4'))
>> > self.dc.DrawRectangle(570,40,600,150)
>> > for i in range (1,19):
>> > for j in range (1,19):
>> > if(self.tablero.get_valor(i,j)!=0):
>> > self.dc.DrawCircle(i*50,j*50,10)
>> >
>> > Cuando aprieto un botón, una posicion de tablero cambia (por lo que en
>> ahi en algun punto el valor va a ser distinto de 0 por lo que va a dibujar
>> el círculo), pero debugeandoloveo que cuando lo encuentra, pasa el if,
>> dibuja el círculo, pero vuelve al if y no al for :(
>> >
>>
>> El evento OnPaint parece estar bien, habría que ver el resto del programa
>> para ver donde esta el problema.
>>
>> Saludos,
>> Ismael
>>
>> _______________________________________________
>> pyar mailing list pyar en python.org.ar
>> http://listas.python.org.ar/listinfo/pyar
>>
>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>>
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20120209/009fc5c2/attachment.html>
More information about the pyar
mailing list