[Python] Tkinter

Daniele Varrazzo piro a develer.com
Ven 11 Apr 2008 15:47:21 CEST


On Fri, 11 Apr 2008 15:10:48 +0200, "Mauro Maccari"
<mauro.maccari a gmail.com> wrote:
> Ciao ragazzi, mi sto esercitando con Tkinter ma c'č una cosa che non
> riesco a fare.
> Quando spunto un checkbox vorrei chiamare una funzione che gira di
> continuo fin quando il checkbox non viene deselezionato.
> 
> Ho fatto una piccola interfaccia ma selezionando il checkbox inizia la
> funzione ma non riesco pių a deselezionare il widget.
> dove sbaglio?

Ciao Mauro!

se la tua funzione gira di continuo, non dai modo al loop degli eventi di
essere eseguito. Questo e' un comportamento comune a tutte le interfacce
grafiche: o fai in modo che il loop degli eventi chiami periodicamente la
tua funzione (che non deve durare tanto) o, se la funzione dura tanto, devi
dire esplicitamente al loop degli eventi di processare gli eventi sospesi
di quando in quando. 

Non conosco tkinter, quindi non so come si chiama un eventuale hook che ti
offre. In altri sistemi di UI si chiama "idle" di solito, ed e' un evento
che viene generato periodicamente per permettere di effettuare compiti in
parallelo senza usare esplicitamente thread diversi. Dovresti agganciarti
ad "idle" e controllare da li' se il checkbox e' flaggato, nel qual caso
fare un pezzetto del lavoro.

-- 
Daniele Varrazzo - Develer S.r.l.
http://www.develer.com



Maggiori informazioni sulla lista Python