Tkinter. command de un boton

Marcos Sánchez Provencio rapto en arrakis.es
Mie Oct 20 10:00:20 CEST 2004


Estás pasando como función el resultado de la llamada de la función:

Por ejemplo,
dir
es una función, pero
dir()
es la lista resultado.
...command=self.AccionBoton)
sería lo correcto
Ojo, que no piloto Tkinter

daniFerSer escribió:

> Saludos a todos.
> Hoy despues de haber estado mirando estos dias C + GTK y Visual C++ me 
> he decidido por probar Python + Tkinter. Ya habia estado tocando cosas 
> de Python un poco, pero lo habia dejado un tiempo.
>
> Estoy mirando ejemplos de codigo y los intento hacer a mi manera.
> Pongo el codigo debajo. Mis dudas son...
>
> 1º. Por qué al ejecutar la aplicacion aparece en la linea de comandos 
> "pollo"?? Supongo q lo saca de la accion del boton1, pero no se porque 
> lo hace solo, sin esperar a q se accione el boton.
>
> 2º. En un command de un boton no se puede llamar a un procedimiento 
> pasandole un argumento?
>
> He suprimido partes de codigo que no se usaban para nada en esta duda 
> para que sea mas facil leerlo. Lo digo para que no me digais que no 
> tiene sentido lo que intento.
>
> El codigo:
> ----------------------------------------------------
> from Tkinter import *
>
> class App:
>    def __init__(self,master):
>        root.title("Ejemplo 4")
>        self.FoodItems=[]              self.CreateWidgets(master)
>
>    def CreateWidgets(self,master):
>        FrameDeBotones=Frame(master)
>        FrameDeBotones.pack(side=TOP,fill=X)
>
>        self.boton1 = 
> Button(FrameDeBotones,text="pollo",command=self.AccionBoton("pollo"))
>        self.boton1.pack(side=LEFT)
>         def AccionBoton(self,label):
>        print label
>
>
> root=Tk()
> app = App(root)
> root.mainloop()
>
>




Más información sobre la lista de distribución Python-es