Problem mit wx.ListCtrl
Verfasst: Mittwoch 14. Mai 2008, 16:36
hallo,
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:
jetzt habe ich aber das problem, dass er mir beim printen einen fehler ausgibt, mit dem ich aber leider nichts anfangen kann.
ich hoffe ihr koennt mir weiterhelfen!
mfg
roschi
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