[Python-es] Retorno valores ventana hija wxPython

Carlos Zuniga carlos.zun en gmail.com
Lun Nov 4 14:46:10 CET 2013


2013/11/4 kausdiv <kausdiv en gmail.com>:
> Hola, estoy haciendo mi primer proyectillo en wxPython y me encuentro con el
> siguiente problema:
>
> El proyecto tiene una ventana principal y una hija donde se modifican
> registros de un diccionario.
>
> El problema es que cuando invoco a la ventan hija (desde procedimiento
> Nuevo) pasándole en uno de sus métodos un diccionario para modicarlo. No ve
> como hacer que al pulsar el botón Aceptar reciba el diccionario modificado.
> Lo que veo es que tras invocar a la ventana hija no se espera a que termine
> la ejecución de la ventana hija.

Es ese el comportamiento que buscas? No uso wx, pero en otros tookits,
lo que tienes que hacer es usar un dialog para que bloquee al padre.
Viendo por aquí [0] parece que solo necesitas subclasear a la clase
Dialog en lugar de la clase Frame.

>
>
> Mi codigo de invocación a la ventan hija:
> --------------
> def Nuevo( self, event ):
>
> """Modifica y agrega elementos al diccionario"""
>
>     nw = modif(self)
>
>     dd = {'Nombre':'Pepe','Telefono':'8484848484','Correo':'arroba.algo'}
>
> nw.valores(dd)   # Se rellena un wxGrid con los valores del diccionario.
>
> nw.MakeModal(True)
>
> nw.Show(True)
>

Ya siendo un dialog, todo lo que tienes que hacer es coger los valores
tras mostrar la ventana.

    dd = nw.get_valores()


Saludos.


[0] http://zetcode.com/wxpython/dialogs/
-- 
A menudo unas pocas horas de "Prueba y error" podrán ahorrarte minutos
de leer manuales.


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