Archivo

Artículos etiquetados y‘PyGTK’

PyGTK: Refrescar contenido de un widget

Junio 16, 2009 msdark 3 comentarios

 Para refresecar el contenido de un widget (por ejemplo un Label como en mi caso) cada vez que cambie el contenido de un archivo o de un socket.. en mi caso cada vez que se escriba en el puerto serie, se pueden utilizar distintas técnicas.. la que a mi me gusta:

gobject.io_add_wath(source,condition,callback, args...)


Esta función de gobject “revisa” constantemente si source cumple con la condición condition y llama a la función callback con args como argumentos para la función.

Por ejemplo, En este momento estoy trabajando con un Basic Stamp, un microcontrolador que genera ciertos calculos y escribe sus resultados constantemente (dependiendo de un cambio en un potenciometro) en el puerto serie, lo que necesitaba era mostrar este resultado en un label en mi interfaz GTK, pero que apenas el valor cambiara, este se actualizara en el label.. como? usando gobject.io_add_wath() lo que hice es bastante sencillo…

primero: source es el puerto serie, condition es gobject.IO_IN que significa que cada vez que exista algo que leer lo lee y mi función callback que muestra en el label el contenido del puerto serial source.readline()

Fácil no… claro despues de mucho buscar y probar xD…

Saludos

Categorías:Programación, Tips Etiquetas:,