Código Python:
Ver originalimport wx
class monti(wx.Frame):
#--------------------------------------------------------------------------------
#Constructor principal
def __init__(self):
wx.Frame.__init__(self, None, wx.ID_ANY,
"Paso de parametros entre metodos", size=(500, 200))
self.Bind(wx.EVT_CLOSE, self.OnClose)
self.InitUI()
self.Centre()
self.Show()
#----------------------------------------------------------------------..........
# Construccion de la GUI
def InitUI(self):
distros = ['arch','debian','ubuntu']
self.distro = None
panel = wx.Panel(self)
vbox = wx.BoxSizer(wx.VERTICAL)
hbox3= wx.BoxSizer(wx.HORIZONTAL)
cb = wx.ComboBox(self, pos=(50, 30), choices=distros,
style=wx.CB_READONLY)
cb.Bind(wx.EVT_COMBOBOX, self.OnSelect)
hbox3.Add(cb,border=10)
vbox.Add(hbox3, flag=wx.LEFT, border=30)
panel.SetSizer(vbox)
vbox.Add((-1, 15))
hbox4 = wx.BoxSizer(wx.HORIZONTAL)
self.etiquetas = wx.StaticText(self,-1,label=u"Selecciona una distro")
hbox4.Add(self.etiquetas,border=10)
vbox.Add(hbox4, flag=wx.LEFT, border=30)
vbox.Add((-1, 10))
hbox7 = wx.BoxSizer(wx.HORIZONTAL)
self.etiqueta = wx.StaticText(self,-1,label=u"Enviar parametro proveniente de OnSelect a onBurn ")
hbox7.Add(self.etiqueta,border=10)
vbox.Add(hbox7, flag=wx.LEFT, border=30)
btnGra = wx.Button(self, label="Enviar...")
btnGra.Bind(wx.EVT_BUTTON, self.onBurn)
hbox7.Add(btnGra,wx.RIGHT,border=10)
vbox.Add(hbox7, flag=wx.LEFT, border=30)
vbox.Add((-1, 10))
#----------------------------------------------------------------------
def onBurn(self, e):
print "Aqui imprimir el valor seleccionado en el combobox"
if self.distro is None:
print " Aun no se ha seleccionado en el combobox"
else:
print " Distro seleccioado %s" % (self.distro,)
#----------------------------------------------------------------------
def OnSelect(self, e):
self.distro = e.GetString()
print "Ha seleccionado la distro:\n" + self.distro
self.etiquetas.SetLabel(self.distro)
#----------------------------------------------------------------------
def OnClose(self, event):
dial = wx.MessageDialog(None, 'Are you sure to quit?', 'Question',
wx.YES_NO | wx.NO_DEFAULT | wx.ICON_QUESTION)
ret = dial.ShowModal()
dial.Destroy()
if ret == wx.ID_YES:
self.Destroy()
else:
self.Show()
#----------------------------------------------------------------------
# Run the program
if __name__ == "__main__":
app = wx.App(False)
frame = monti()
app.MainLoop()
Creo que ya mas o menos entendí (eso espero). Lo que quieres es mantener el valor de lo que tienes seleccionado y eso lo puedes hacer fácilmente con atributo de la clase. Nada especial.