Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/08/2011, 11:28
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Como obtener el item selecionado en un List_Ctrl ???

Dado que no pones mas código y la pregunta parece no del todo elaborada. Estoy asumiendo que lo quieres es obtener todos los items de un listctrl que hayan sido seleccionados.

Aquí te dejo un ejemplo:
Código Python:
Ver original
  1. import wx
  2.  
  3. class MyFrame(wx.Frame):
  4.     def __init__(self, *args, **kwargs):
  5.         wx.Frame.__init__(self, *args, **kwargs)
  6.         self.panel = MyPanel(self)
  7.        
  8. class MyPanel(wx.Panel):
  9.     def __init__(self, *args, **kwargs):
  10.         wx.Panel.__init__(self, *args, **kwargs)
  11.         box = wx.BoxSizer(wx.VERTICAL)
  12.        
  13.         self.list = wx.ListCtrl(self, -1, style=wx.LC_REPORT|wx.SUNKEN_BORDER)
  14.         self.list.InsertColumn(0, "ID")
  15.         for i in range(3):
  16.             self.list.InsertStringItem(0, "%d" % i)
  17.        
  18.         self.button = wx.Button(self, -1, "Presione")
  19.         self.button.Bind(wx.EVT_BUTTON, self.onClick)
  20.        
  21.         box.Add(self.list, 1, wx.EXPAND)
  22.         box.Add(self.button, 0)
  23.         self.SetSizer(box)
  24.         self.Center()
  25.    
  26.     def getSelectedItems(self):
  27.         return list(self.getSelectedIterItems())
  28.    
  29.     def getSelectedIterItems(self):
  30.         next = self.list.GetFirstSelected()
  31.         while(next != -1):
  32.             yield next
  33.             next = self.list.GetNextSelected(next)
  34.            
  35.     def onClick(self, event):
  36.         print self.getSelectedItems()
  37.        
  38. class MyApp(wx.App):
  39.     def OnInit(self):
  40.         frame = MyFrame(None, -1, "ListCtrl")
  41.         frame.Show(True)
  42.         self.SetTopWindow(frame)
  43.         return True
  44.  
  45. app = MyApp(1)
  46. app.MainLoop()