[Python] Eseguire un'azione ad un intervallo regolabile
Manlio Perillo
manlio_perillo a libero.it
Dom 22 Ott 2006 20:07:39 CEST
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
Maggiori informazioni sulla lista
Python