--------- Mensaje reenviado -------- > De: Peter Otten <__pete...@web.de> > Para: python-list@python.org > Asunto: Re: Uso de variable Global > Fecha: Thu, 02 Dec 2010 23:06:25 +0100 > Grupos de noticias: comp.lang.python > > craf wrote: > > > Hola. > > > > > > Estoy probando Tkinter y escribí este pequeño código el cual crea un > > formulario con un textbox y un botón. Al ingresar un dato en el textbox > > y presionar el botón, se imprime en la consola el valor. > > > > > > ---CODE-------------------- > > > > from Tkinter import * > > > > def muestra(): > > print(valor.get()) > > > > class App: > > def __init__(self,master): > > global valor > > valor = StringVar() > > e = Entry(master,textvariable=valor).pack() > > b = Button(master,text='Mostrar',command=muestra).pack() > > pack() returns None so both e and b set to None here. In this case it > doesn't matter because you don't do anything with e and b. > > > master = Tk() > > app = App(master) > > master.mainloop() > > > > ----------------------------- > > > > Funciona, pero tuve que hacer uso de una variable Global. > > > > Pregunta: ¿Es valida esta forma?, ¿Se puede hacer de otra forma, sin > > ocuparla?. > > I'd prefer to make valor an attribute and muestra() a method: > > from Tkinter import * > > class App: > def __init__(self, master): > self.valor = StringVar() > Entry(master, textvariable=self.valor).pack() > Button(master, text='Mostrar', command=self.muestra).pack() > def muestra(self): > print self.valor.get() > > master = Tk() > app = App(master) > master.mainloop() >
Thanks!, Sorry for the Spanish mail. Regards Cristian -- http://mail.python.org/mailman/listinfo/python-list