Wie gesagt habe ich ein kleines Verständnisproblem. Hier erstmal mein Pythoncode:
Code: Alles auswählen
#!/usr/bin/python
import wx
class Main_Window(wx.Frame):
def __init__(self, parent, id, title):
wx.Frame.__init__(self, parent, id, title, size=(800, 600))
panel = wx.Panel(self, -1)
# - Imageliste wird erstellt.
isz = (16,16)
il = wx.ImageList(isz[0], isz[1])
fldridx = il.Add(wx.ArtProvider.GetBitmap(wx.ART_FOLDER,
wx.ART_OTHER, isz))
fldropenidx = il.Add(wx.ArtProvider.GetBitmap(wx.ART_FILE_OPEN,
wx.ART_OTHER, isz))
# - Icon wird erstellt.
icon = wx.Icon('icons\Note.ico', wx.BITMAP_TYPE_ICO)
self.SetIcon(icon)
# - TreeCtrl wird erstellt.
self.tree = wx.TreeCtrl(panel, -1, size=(400, 600),
style=wx.TR_NO_BUTTONS )
self.tree.SetImageList(il)
# - Rootfenster wird erstellt.
self.root = self.tree.AddRoot("Musik")
self.tree.SetPyData(self.root, None)
self.tree.SetItemImage(self.root, fldridx, wx.TreeItemIcon_Normal)
self.tree.SetItemImage(self.root, fldropenidx, wx.TreeItemIcon_Expanded)
# - Item wird erstellt.
child = self.tree.AppendItem(self.root, "Item %d" % 1)
self.tree.SetPyData(child, None)
self.tree.SetItemImage(child, fldridx, wx.TreeItemIcon_Normal)
self.tree.SetItemImage(child, fldropenidx, wx.TreeItemIcon_Expanded)
self.tree.Expand(self.root)
self.Centre()
self.Show(True)
app = wx.PySimpleApp()
Main_Window(None, -1, 'Fenster')
app.MainLoop()
Habe mir dann mal die wxPython - Docs angeschaut. Habe dann folgende 3 Events zu meinem Programm hinzugefuegt.
Code: Alles auswählen
self.Bind(wx.EVT_TREE_ITEM_EXPANDED, self.OnItemExpanded, self.tree)
self.Bind(wx.EVT_TREE_ITEM_COLLAPSED, self.OnItemCollapsed, self.tree)
self.Bind(wx.EVT_TREE_SEL_CHANGED, self.OnSelChanged, self.tree)
...
def OnItemExpanded(self, event):
item = event.GetItem()
if item:
self.log.WriteText("OnItemExpanded: %s\n" % self.tree.GetItemText(item))
def OnItemCollapsed(self, event):
item = event.GetItem()
if item:
self.log.WriteText("OnItemCollapsed: %s\n" % self.tree.GetItemText(item))
def OnSelChanged(self, event):
self.item = event.GetItem()
if self.item:
self.log.WriteText("OnSelChanged: %s\n" % self.tree.GetItemText(self.item))
if wx.Platform == '__WXMSW__':
self.log.WriteText("BoundingRect: %s\n" %
self.tree.GetBoundingRect(self.item, True))
#items = self.tree.GetSelections()
#print map(self.tree.GetItemText, items)
event.Skip()
Bin für jede Hilfe dankbar.
Gruß Cobra5