[Python] parametri da passare alla funzione di callback (glade)
Gian Mario Tagliaretti
gianmt a gnome.org
Gio 22 Mar 2007 15:29:39 CET
Il 22/03/07, Nicola Giosmin -<nicgios a yahoo.it> ha scritto:
> E il bottone è (ovviamente button1). Cosa sbaglio?
> Il problema è che la mia funzione dovrebbe
> prendere un valore e non lavorare con valori
> predefiniti... credo di dover passare valori alla
> funzione di callback, ma non so come si fa in
> glade; oppure devo modificare il codice di python?
quando connetti un evento ad un widget, puoi passare un numero
arbitrario di parametri, guarda l'esempio qua sotto:
mport gtk
import random
def on_click(button, lista, testo):
seed = random.randint(0, 4)
l.set_text(testo + lista[seed])
w = gtk.Window ()
w.connect("destroy", gtk.main_quit)
v = gtk.VBox ()
w.add (v)
l = gtk.Label ("cambiami")
v.pack_start(l)
b = gtk.Button ("change label")
v.pack_start(b)
lista = ["pippo", "pluto", "paperino", "clarabella", "nonna papera"]
b.connect("clicked", on_click, lista, "io sono: ")
w.show_all()
gtk.main()
I parametri lista ed "io sono: " li passi quando connetti la callback
al bottone, gtk li passa per te come argomenti della funzione chiamata
DOPO aver passato gli argomenti propri del segnale a cui ti sei
collegato, in questo caso il clicked.
Non so se mi sono spiegato...spero di si.
ciao
--
Gian Mario Tagliaretti
http://www.parafernalia.org/pygtk/
Maggiori informazioni sulla lista
Python