Tengo un ComboBox, el cual construyo pasandole una lista con varios valores.
en el transcurso del programa, la lista cambia, osea, puede que se le agreguen nuevos valores e igual puede que los pierda. No encuentro la forma de hacer que el ComboBox acepte esos cambios.
El siguiente código es una muestra de mi ignorancia.
Código Python:
Ver original
#!/usr/bin/env python # -*- coding: utf-8 -*- import wx class Frame(wx.Frame): def __init__(self): wx.Frame.__init__(self, None, -1, "Ventana") self.lista = ["uno", "dos", "tres"] self.combo_box = wx.ComboBox(self, -1, choices=self.lista) self.button_1 = wx.Button(self, -1, "Agregar") self.button_2 = wx.Button(self, -1, "Eliminar") self.Bind(wx.EVT_BUTTON, self.Agregar, self.button_1) self.Bind(wx.EVT_BUTTON, self.Eliminar, self.button_2) size = wx.BoxSizer(wx.VERTICAL) size.Add(self.combo_box, 0, 0, 0) size.Add(self.button_1, 0, 0, 0) size.Add(self.button_2, 0, 0, 0) self.SetSizer(size) def Agregar(self, event): self.lista.append("otro") print(self.lista) event.Skip() def Eliminar(self, event): try: self.lista.pop() except IndexError: print(self.lista) event.Skip() if __name__ == '__main__': app = wx.App(0) frame = Frame() frame.Show() app.MainLoop()