Il 22/03/07, Nicola Giosmin -<[EMAIL PROTECTED]> 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/
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a