[Python-es] Consulta Cairo, guiños al pintar la ventana

Jesús Genicio jgenicio en gmail.com
Lun Jun 28 21:14:30 CEST 2010


El lun, 28-06-2010 a las 19:57 +0200, Daniel Garcia Moreno escribió:
> El lun, 28-06-2010 a las 19:02 +0200, Jesús Genicio escribió:
> > Hola:
> > 
> > Os adjunto un archivo con el código de un indicador "analógico", el cual
> > presenta la temperatura indicada por un sensor externo.
> > 
> > La cuestión es que tengo configurado el evento "expose" para que pinte
> > el indicador cada vez que se redimensione la ventana o esta queda tapada
> > por algo.
> > 
> > Por otro lado tengo configurado un evento de tiempo através de
> > gobject.timeout_add( 1000, self.temporizador)
> > 
> > La cuestión es que de vez en cuando, no siempre, se nota como un guiño
> > en la ventana, y coincide creo, con el momento en que solicito la
> > temperatura al sensor. 
> > 
> > Si no fuese por la petición de la temperatura, ¿hay alguna manera de
> > evitar esos guiños.?
> > 
> > Espero haberme explicado :))
> > 
> 
> No he mirado el código ni nada, pero por lo que cuentas parece ser un
> problema de concurrencia.
> 
> Si la solicitud de la temperatura al sensor es una operación bloqueante
> puede hacer que la ventana no se refresque hasta que la solicitud no
> termine.
> 
> Para solucionar eso tendrías que tirar de threads, que con pygtk dan más
> de un problema, o de subprocesos, para separar lo que es la lógica
> bloqueante de la interfaz.

Hola:

Ya he probado eliminando la lectura del sensor, y sigue igual. Creo que
el tema viene por la forma de pintar con la que hago el script. Si
amplio la ventana al máximo, se ve de arriba a abajo en 3 0 4 veces el
giño, para hacerse una idea, como en las teles antiguas cuando se ven
através de una tele.

En fin, tendré que revisar la forma de refrescar la imagen creada.

S2.

> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/



Más información sobre la lista de distribución Python-es