PDA

Visualizza la versione completa : [pyGtk] Funzioni periodiche ?


_sys/sid
10-01-2005, 18:01
Come si usano le funzioni periodiche ?

Io ho provato ad usarle cosi...
gtk.timeout_add(20, make_text)
gtk.idle_add(make_text)

ma non funzionano... o meglio la funzione make_text non parte mai...

perche' ?
Qualcuno avrebbe un esempio con l'uso di una di queste due funzioni ? Io dovrei aggiornare un TextView continuamente...

Grazie.

KornShell
10-01-2005, 21:12
un esempio di timeout lo trovi nel tutorial:
http://www.pygtk.org/pygtk2tutorial/sec-ProgressBars.html

Per curiosita' perche' devi aggiornare continuamente la textview? magari c'e' un metodo migliore.

_sys/sid
11-01-2005, 18:37
grazie mille per il tutorial...
cmq ero riuscito a farlo funzionare ma non riesco piu' a farlo smettere...

La TextView la devo continuare ad aggiornare per aggiungere del nuovo testo (sto' facendo una chat)



def gtk_main_quit(*args):
global sockout
global sockin
global timer

sockout.close()
sockin.close()
gobject.source_remove(timer)
gtk.main_quit()
sys.exit(0)

if (__name__ == '__main__'):
...
window.connect("destroy", gtk_main_quit)
...
timer = gobject.timeout_add(100, deal_timeout)
window.show_all()
gtk.main()

KornShell
12-01-2005, 22:18
io farei emettere un "expose-event" quando arriva un messaggio.

_sys/sid
13-01-2005, 16:58
'expose-event' ?

KornShell
14-01-2005, 17:33
Originariamente inviato da KornShell
io farei emettere un "expose-event" quando arriva un messaggio.
"expose-event" ridisegna un widget.
Se ho capito bene il tuo intento e' quello di fare un refresh.
Quando cambia il contenuto della textview (o quando decidi tu) puoi far emettere (se non lo fa da solo), un "expose-event" collegando il segnale ad un controllo.

Loading