Re: Problemas con aplicación python+gtk

bameda bameda en gmail.com
Jue Nov 25 00:20:57 CET 2004


Mil gracias, ya esta todo arreglado.... Ya podré hacer la colada tranquilo.

Un Saludo


On Wed, 24 Nov 2004 11:16:28 +0100, Lorenzo Gil Sanchez <lgs en sicem.biz> wrote:
> Hola David,
> 
> para lo que tu quieres yo usaria las funciones idle (funciones ociosas).
> GTK+ llama a estas funciones siempre que no tenga nada mejor que hacer.
> Asi, puedes usar una de estas funciones para comprobar si tu lavadora ya
> ha terminado de lavar la ropa. Algo como esto:
> 
> import pygtk
> pygtk.require('2.0')
> import gtk
> import gobject
> import time
> 
> # esto es lo que tarda tu super lavadora
> INTERVALO_TIEMPO = 60 * 5  # 5 minutos
> 
> # funcion de ayuda para mostrar un cuadro de dialogo
> def msg(text):
>     d = gtk.MessageDialog(None,
>                           gtk.DIALOG_MODAL |
> gtk.DIALOG_DESTROY_WITH_PARENT,
>                           gtk.MESSAGE_WARNING,
>                           gtk.BUTTONS_OK,
>                           text)
>     d.run()
>     d.destroy()
>     gtk.main_quit()
> 
> # funcion que se llama constantemente para comprobar si ha pasado el
> tiempo
> def comprueba_tiempo(hora_limite):
>     hora_actual = time.time()
>     if hora_limite < hora_actual:
>         msg("Tu ropa se esta pudriendo!!!")
>         return False # ya no nos llaman mas
> 
>     return True # siguen llamandonos
> 
> if __name__ == '__main__':
>     w = gtk.Window()
>     w.connect('destroy', gtk.main_quit)
> 
>     label = gtk.Label('Lavando la ropa...')
>     w.add(label)
>     w.show_all()
> 
>     hora_limite = time.time() + INTERVALO_TIEMPO
>     # instalo la funcion ociosa
>     gobject.idle_add(comprueba_tiempo, hora_limite)
> 
>     gtk.main()
> 
> Como ves en el codigo, si tu funcion idle devuelve True, GTK la seguira
> llamando. Si devuelve False, ya no la llamara mas.
> 
> Como ves, el ejemplo es muy sencillo, pero explica lo de las funciones
> idle que creo que es lo que mas te conviene en este caso.
> 
> Un saludo
> 
> Lorenzo

-- 
____________________________________________
|
|    David Barragán Merino 
|    E-mail: bameda en gmail.com 
|    Ingeniería Informática
|    Universidad Carlos III Madrid
|____________________________________________




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