Я пытаюсь использовать TreeCtrl для представления структуры папок. Для каждой папки мне нужно знать ее абсолютный путь и имя. В настоящее время я делаю что-то вроде этого:
self.root = self.tree.AddRoot(project.name)
self.tree.SetPyData(self.root, None)
self.root.path = root
---- other code -----
childItem = self.tree.AppendItem(self.root, child.name)
childItem.path = self.root.path + "/" + child.name
Но теперь для события мне нужно получить строку пути. Пока что мой подход, который терпит неудачу:
self.Bind(wx.EVT_TREE_ITEM_EXPANDED, self.OnItemExpanded, self.tree)
----- other code -------
def OnItemExpanded(self, evt):
selected = evt.GetItem()
print selected.path
Теперь это не удается, потому что: AttributeError: у объекта TreeItemId нет атрибута path. Из того, что я понимаю здесь, событие дает мне только идентификатор элемента из дерева, а не фактический элемент, полученный в результате «childItem = self.tree.AppendItem (self.root, child.name)»? Если это так, как я могу добраться до этого предмета?
С уважением,
Богдан