Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/02/2013, 15:01
hiramhzr
 
Fecha de Ingreso: enero-2011
Ubicación: En un Cuarto Cubierto de Pasto Verde
Mensajes: 95
Antigüedad: 13 años, 3 meses
Puntos: 3
Wxpython: Paso de parámetros entre métodos

Tengo una duda de como se manejan los parámetros en python específicamente con wxpython por ejemplo lo que quiero realizar es teniendo una clase principal llamada frame en el construcctor de mi aplicación tengo varios metodos y quiero hacer lo siguiente:

Código Python:
Ver original
  1. class principal(wx.Frame):
  2.  
  3. #--------------------------------------------------------------------------------
  4. #Constructor principal
  5.     def __init__(self):
  6.         wx.Frame.__init__(self, None, wx.ID_ANY,
  7.                           "Paso Parametros", size=(500, 400))
  8.         self.Bind(wx.EVT_CLOSE, self.OnClose)
  9.         self.meSystem()
  10.         self.InitUI()
  11.         self.Centre()
  12.         self.Show()
  13.  
  14. #----------------------------------------------------------------------..........
  15. # Construccion de la GUI
  16.     def InitUI(self):
  17.        
  18.         menubar = wx.MenuBar()
  19.        
  20.         fileMenu = wx.Menu()
  21.         fitem = fileMenu.Append(wx.ID_EXIT, 'Quit', 'Quit application')
  22.         menubar.Append(fileMenu, '&File')
  23.         self.SetMenuBar(menubar)
  24.         self.Bind(wx.EVT_MENU, self.OnQuit, fitem)
  25.        
  26. ################# Tengo este componente combobox agregado el cual llama al metodo OnSelect
  27.  
  28.         hbox3= wx.BoxSizer(wx.HORIZONTAL)
  29.         cb = wx.ComboBox(self, pos=(50, 30), choices=self.distros,
  30.             style=wx.CB_READONLY)
  31.         cb.Bind(wx.EVT_COMBOBOX, self.OnSelect)
  32.  
  33. ################# en el metodo OnSelect tengo este código el odigo que imprime la selección del combobox
  34.  
  35.      def OnSelect(self, e):
  36.        
  37.            i = e.GetString()
  38.            print "Has seleccionado de combobox:\n" + i
  39.            self.etiquetas.SetLabel(i)
  40.  
  41. ################# Regreso el control a Frame y cambio el valor de mi etiqueta con el valor que regresa el metodo OnSelect
  42.      
  43.         hbox4 = wx.BoxSizer(wx.HORIZONTAL)
  44.         self.etiquetas = wx.StaticText(self,-1,label=u"Seleccionado del comboBox")
  45.         hbox4.Add(self.etiquetas,border=10)              
  46.         vbox.Add(hbox4, flag=wx.LEFT, border=30)
  47.         vbox.Add((-1, 10))
  48.  
  49. ################# Hasta aqui todo bien el problema que tengo ahora es que esa misma variable self.etiquetas que en realidad
  50. #################contiene el valor de regreso del combobox necesito utilizarla dentro de otro metodo pero no encuentro como manejar dicha variable para enviarla al
  51. #################metodo siguiente llamado otroMetodo:
  52.  
  53.     def otroMetodo(self, e):
  54.             print self.resultado

Resumiendo obtengo del metodo onSelect el string de la selección del usuario en la variable self.etiquetas con la cual actualizo la variable en mi método InitUI, lo que necesito hacer es ese string del método InitUI actualizado desde el comboBox enviarlo a un nuevo método para hacer uso de esa selección dentro de ese otro método.

De ante mano muchas gracias agradezco cualquier ayuda, buena tarde.