Oppure

Loading
11/06/12 17:22
Umberto
Chiedo scusa per i post in serie su questa sezione.
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 :om:
aaa
13/06/12 18:02
Umberto
Risolto!!
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=lambo: 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()
aaa