[pyar] [Fwd: Re: Llamar a funcion en otro modulo]

craf prog en vtr.net
Jue Dic 16 00:41:35 ART 2010


--------- Mensaje reenviado --------
> De: Lucas <rollbak en gmail.com>
> Reply-to: Python Argentina <pyar en python.org.ar>
> Para: Python Argentina <pyar en python.org.ar>
> Asunto: Re: [pyar] Llamar a funcion en otro modulo
> Fecha: Wed, 15 Dec 2010 23:58:28 -0300
> 
> 
> 
> La idea seria sacar las dependencias fuera del cuerpo de la funcion
> (en tu caso master) y pasarselas como parametro.
> 
> Ej:
> def salir(ventana):
>     if loquesea:
>         ventana.quit()
> 
> Saludos,
> 
> Lucas
> 
> > On Dec 15, 2010 9:54 PM, "Tomas Zulberti" <tzulberti en gmail.com>
> > wrote:
> > 
> > 2010/12/15 Juan Carlos Ojeda <juancarlospaco en gmail.com>:
> > 
> > 
> > > 2010/12/15 craf <prog en vtr.net>
> > >>
> > >> Hola.
> > >>
> > >> El código de consulta es el siguiente:
> > >>
> > >> ----...
> > 
> > El problema es que la funcion salir usa a master, y por eso no le
> > funciona lo de copiar y ponerlo en otro modulo.
> > No se nada de TK asique no se como solucionar el problema
> > 
> > 
> > _______________________________________________
> > pyar mailing list pyar en python.org.ar
> > http://listas.p...
> > 
> 
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
> 
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/

Hola Lucas.

Gracias por la respuesta.
Después de cabecearme un rato logré lo que quería. Separar la interfaz y
la ejecución del código.
Posteo la solución si le sirve a alguien con la misma inquietud.

modulo: main.py-------------------------------------------------------

import Tkinter
from codigo import *


class App:
    def __init__(self, master):
        self.p = master
        self.b = Tkinter.Button(self.p)
        self.b.pack()
        self.b.bind('<Button-1>',lambda e: funcion(self.b))
        self.p.protocol("WM_DELETE_WINDOW", lambda: salir(self.p))


master =Tkinter.Tk()
master.geometry('400x400')
app = App(master)
master.mainloop()

modulo: codigo.py-------------------------------------------------------

def funcion(self):
    self.configure(text='Hola')

def salir(self):
    self.destroy()
------------------------------------------------------------------------

Saludos.

Cristian Abarzua.




More information about the pyar mailing list