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'がありません。ここで私が理解していることから、イベントはツリーからのアイテムへのIDのみを提供し、「childItem = self.tree.AppendItem(self.root、child.name)」から生じた実際のアイテムは提供しませんか?その場合、どうすればそのアイテムにたどり着くことができますか?
よろしく、ボグダン