variable compartida

Tengo una consulta, como hago para leer una variable en un frame
principal, donde la variable se genera en un wxDialog?
por mas que la variable sea declarada global, no puedo acceder desde
el frame principal.

atee

No estoy seguro de cual es tu problema exactamente. La forma en que yo he lidiado con extraer valores de diálogos es extendiendo la clase wx.Dialog, agrego los campos que necesito y un propiedad ok_clicked para saber si el usuario dio click en OK o Cancel. Lo importante es extraer el valor del campo antes de destruirlo, porque una vez que invocas Destroy() ya no puedes acceder a ningún atributo del diálogo

Agrego algo de código de muestra, espero te sea útil

# Instanciar el dialogo
dialog = CustomDialog(self)
# Mostrar el dialogo
dialog.ShowModal()
# Extraer el valor del campo solo si el usuario dio click en OK
field_value = dialog.GetFieldValue() if dialog.OKClicked() else None
#Destruir el dialogo
dialog.Destroy()

class CustomDialog(wx.Dialog):
    
    def __init__(self, parent, title):
        self.ok_clicked = False
        self.ok_button = wx.Button(self, wx.ID_OK, label='OK')
        self.Bind(wx.EVT_BUTTON, self.OnOkButton, self.ok_button)
        ...
        
    def GetFieldValue(self):
        """
        Returns the value of the field
        """
        return self.field.GetValue().strip()
        
    def OnOkButton(self, event):
        """
        Invoked when the OK button of this dialog is clicked.
        """
        self.ok_clicked = True
        event.Skip()
        
    def OKClicked(self):
        """
        Returns True if the OK button has been clicked.
        """
        return self.ok_clicked

···

____________________
Alejandro Mier y Concha
________________________________________
From: wxpython-users@googlegroups.com [wxpython-users@googlegroups.com] On Behalf Of Franco Bocalon [francobocalon@gmail.com]
Sent: Sunday, June 26, 2011 11:13 PM
To: wxPython-users
Subject: [wxPython-users] variable compartida

Tengo una consulta, como hago para leer una variable en un frame
principal, donde la variable se genera en un wxDialog?
por mas que la variable sea declarada global, no puedo acceder desde
el frame principal.

atee

--
To unsubscribe, send email to wxPython-users+unsubscribe@googlegroups.com
or visit http://groups.google.com/group/wxPython-users?hl=en