Luca Marturana ha scritto:
> Salve a tutti,
> 
> In un mio software devo eseguire una funzione ad intervalli di tempo
> regolari (nell'ordine dei secondi, tipo ogni secondo o ogni 5 secondi),
> inoltre vorrei che l'utente possa facilmente modificare il timeout
> (modificando una chiave di gconf), fino ad ora ho utilizzato gobject in
> questa maniera:
> 
> gobject.timeout_add(2000,self.on_timeout, self)
> 
> Leggendo la documentazione però ho notato che questa funzione non
> permette di modificare il valore del timeout.
> 

Il trucco è di cancellare il timeout e crearne un altro.

In pratica:

def on_some_user_action(self, timeout):
   # rimuove il timeout corrente
   gobject.source_remove(self.timeout_id)

   # crea un nuovo timeout
   self.timeout_id = gobject.timeout_add(timeout, self.on_timeout, self)


Il tutto non testato.



Saluti  Manlio Perillo
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a