wxpython frames
Amm-Python
python en ammsoft.com
Vie Oct 28 12:19:53 CEST 2005
Genial.
Ha funcionado a la primera.
Muchísimas gracias.
De paso he previsto que el parámetro sea None. Sería el caso de llamar
al frame desde el menú principal de la aplicación.
En tal caso no es necesario refrescar nada.
def OnCloseWindow(self, event):
if self.frameParent != None:
self.fOnClose(self.frameParent)
self.Destroy()
Cada vez me enamoro más de Python.
Cuando lo domine será la leche. ;)
> -----Mensaje original-----
> De: python-es-bounces en aditel.org
> [mailto:python-es-bounces en aditel.org] En nombre de Carlos López Pérez
> Enviado el: divendres, 28 / octubre / 2005 11:48
> Para: La lista de python en castellano
> Asunto: RE: [Python-es] wxpython frames
>
>
>
> Otra posible solución....
>
>
> self.main = wxProvincias.wxProvincias(CargarDiccionarios, self)
>
> ----
>
> class wxProvincias(wx.Frame):
> def __init__(self, fOnClose, parent):
> wx.Frame.__init__(self, ...)
> self.fOnClose = fOnClose
> self.frameParent = parent
> ....
> self.Bind(wx.EVT_CLOSE, self.OnCloseWindow)
>
> def OnCloseWindow(self, event):
> self.fOnClose(self.frameParent)
> self.Destroy()
>
>
> El vie, 28-10-2005 a las 11:29 +0200, Amm-Python escribió:
> > Gracias por tu respuesta, pero...
> > Es una opción interesante, pero la función
> CaragarDiccionarios está en
> > el otro Frame. Es más, puede que se necesite realizar la misma
> > operación desde otros Frames.
> > Ejemplo:
> >
> > Aplicación
> > ---------------Frm1 (Empresas)
> > -------------Frm3 (Provincias)
> > (refrescar list prov.)
> > .
> > .
> > .
> > ---------------Frm2 (Clientes)
> > -------------Frm3 (Provincias)
> > (refrescar lst prov.)
> > .
> > .
> > .
> >
> > Es decir; desde un mantenimiento A, en el que debemos
> seleccionar una
> > provincia de una lista, Podemos acceder al mantenimiento B, de
> > provincias, para poder dar de alta nuevos registros.
> > Esos nuevos registros deben ser actualizados en la lista del
> > mantenimiento A cuando salimos del B.
> >
> > El mantenimiento B puede ser llamado desde otros mantenimientos que
> > necesiten seleccionar provincias.
> >
> > En tu solución se supone que la función CargarDiccionarios
> está en el
> > propio mantenimiento de provincias Y yo necesito que esté
> en el otro
> > frame.
> >
> > Una solución podría ser poder especificar el "parent" en la función
> > OnClose, y llamar la función del parent, pero no se cómo.
> >
> > De momento y mientras encuentro otra solución, lo haré mediante un
> > pytimer. Activaré el timer al llamar al frame provincias.
> > Y en el notify del timer miraré que ya no existe el formulario
> > provincias, pararé el timer y cargaré los diccionarios.
> > Creo que es una chapuza, pero parece que funciona.
> >
> >
> > > -----Mensaje original-----
> > > De: python-es-bounces en aditel.org
> > > [mailto:python-es-bounces en aditel.org] En nombre de Carlos
> López Pérez
> > > Enviado el: divendres, 28 / octubre / 2005 09:52
> > > Para: La lista de python en castellano
> > > Asunto: Re: [Python-es] wxpython frames
> > >
> > >
> > > No se si te he entendido bien. Lo que te sugiero es los
> siguiente...
> > >
> > > La idea es que utilices el evento OnClose del Frame.
> > > y ahí llames a actualizar diccionarios. Deberás modificar tu
> > > código para que te sirva el CargarDiccionarios en el otro frame.
> > >
> > > Espero que te sirva.
> > >
> > > from ... import CargarDiccionarios
> > >
> > > class wxProvincias(wx.Frame):
> > > def __init__(self, ...):
> > > wx.Frame.__init__(self, ...)
> > > ....
> > > self.Bind(wx.EVT_CLOSE, self.OnCloseWindow)
> > >
> > > def OnCloseWindow(self, event):
> > > CargarDiccionarios(...)
> > > self.Destroy()
> > >
> > >
> > > El jue, 27-10-2005 a las 16:38 +0200, Amm-Python escribió:
> > > > EJECUTA MIENTRAS SE MUESTRA EL FORMULARIO
> > > > DE LAS PROVINCIAS
> > > --
> > > Carlos López Pérez <clp en opencanarias.com>
> > >
> > >
> >
> > _______________________________________________
> > Python-es mailing list
> > Python-es en aditel.org http://listas.aditel.org/listinfo/python-es
> >
> --
> Carlos López Pérez <clp en opencanarias.com>
>
>
Más información sobre la lista de distribución Python-es