ich habe ein kleines problem mit wx.ListCtrl():
ich moechte, dass bei dem aktivieren eines eintrags eines wx.ListCtrl's der name des ausgewaehlten eintrags geprintet wird. das habe ich versucht so zu loesen:
Code: Alles auswählen
import wx
class FileList(wx.ListCtrl):
def __init__(self, data, parent, pos, size):
wx.ListCtrl.__init__(self, parent, -1, pos, size, style=wx.LC_REPORT | wx.LC_SINGLE_SEL | wx.LC_VIRTUAL)
self.data = data
self.SetItemCount(len(self.data))
columns = ["File", "Size"]
for col, text in enumerate(columns):
self.InsertColumn(col, text)
self.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.activated, self)
def activated(self, event):
print self.GetItemText(event.GetItem())
def OnGetItemText(self, item, col):
data = self.data[item]
return data[col]
class Frame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, -1, "Window", size=(600,400))
self.panel = wx.Panel(self, -1)
self.path_display = wx.TextCtrl(self.panel, -1, pos=(0, 0), size=(300, 20), style=wx.TE_READONLY | wx.TE_RICH2)
path = "/"
self.path_display.write("Path: " + path)
self.data = [("..", ""), ("Alpha", "80 Byte"), ("Beta", "7 MB")]
self.filelist = FileList(self.data, self.panel, pos=(0, 20), size=(300, 300))
app = wx.PySimpleApp(False)
frame = Frame()
frame.Show()
app.MainLoop()
ich hoffe ihr koennt mir weiterhelfen!

mfg
roschi