[Python-es] [wx.python]
Oswaldo Hernández
listas en soft-com.es
Mar Mar 30 12:53:00 CEST 2010
monoBOT escribió:
> estoy creando un programilla con wx.python, en un panel he puesto una
> serie de textos (ctrltext) que el usuario podrá llenar.
>
> Luego con el boton de guardar sale un mensaje de diálogo que permite al
> usuario guardar o salir, mi problema es que como los textos están en el
> panel y el diálogo lo monto con None las variables de los textos no me
> las coge y no se como puedo cogerlas.
>
> y si les pones self delante dice que el marco no tiene variables con
> ese nombre.
>
> como se soluciona?
En primer lugar, te recomiendo que cuando envíes código simplifiques y
elimines todo lo que no tiene que ver con tu problema, lo que has
enviado se hace difícil de leer.
En un primer vistazo veo lo siguiente:
- En el método __init__ creas objetos pero no guardas las referencias y
por lo tanto luego no puedes acceder a ellos. La forma habitual de
hacerlo es crear una propiedad en la instancia que guarde la referencia
para poder asi utilizarla mas tarde:
self.entranombre = wx.TextCtrl(ventana, -1, nombre_en_fichero)
- Estas haciendo el enlace del evento 'grabar' al estilo antiguo, lo
recomendable es utilizar el Bind directamente sobre el objeto del que
quieres capturar el evento:
botongrabar.Bind(wx.EVT_BUTTON, self.grabar)
- Estas usando sizers, pero no haces Layout para que el frame se
autoajuste.
Saludos,
--
Oswaldo Hernández
Más información sobre la lista de distribución Python-es