11/06/12 17:22
Umberto
Chiedo scusa per i post in serie su questa sezione.
Quando eseguo questo programma:
Prima di preme il bottone viene già avviata la funzione action
Quando eseguo questo programma:
from Tkinter import * import sys import os class Finestra(Tk): def __init__(self): """Costruttore della classe Finestra """ iargv = 1 Tk.__init__(self) self.title(sys.argv[iargv]) self.geometry("%dx%d" % (220, 150)) i = 1 while sys.argv[iargv] != "end": iargv = iargv + 1 if sys.argv[iargv] == "button": # creo il bottone iargv = iargv + 1 buttontext = sys.argv[iargv] iargv = iargv + 1 comm = sys.argv[iargv] b = Button(self, text=buttontext, command=self.action(comm)) iargv = iargv + 1 locx = int(sys.argv[iargv]) iargv = iargv + 1 locy = int(sys.argv[iargv]) b.place(x=locx, y=locy) i = i + 1 # registro l'evento di chiusura della finestra self.protocol('WM_DELETE_WINDOW', self.__chiudi) def mostra(self): """Visualizza la finestra """ # mando in loop l'applicazione self.mainloop() def action(self,comm): """Stampa sullo standard output la stringa 'Hello world ! """ print "here" os.system(comm) def __chiudi(self): """Chiude l'applicazione alla chiusura della finestra """ self.destroy() if __name__ == '__main__': f = Finestra() f.mostra()
Prima di preme il bottone viene già avviata la funzione action
aaa