Python 获取树上项目的路径
假设我有这样一个树:Python 获取树上项目的路径,python,wxpython,wxwidgets,Python,Wxpython,Wxwidgets,假设我有这样一个树: Root Dogs Pug Lab Birds Parrot Eagle 我怎样才能找到哈巴狗项目的路径 我应该买一些像 ["root","Dogs","Pug"] (但使用treectrlid) 有这样的函数吗 getTreePath(Item)?您可以迭代调用GetItemParent(Item)以从项获取根节点,如下所示(源:): 注意:这将按所需的相反顺序提供项目,请使用path
Root
Dogs
Pug
Lab
Birds
Parrot
Eagle
我怎样才能找到哈巴狗项目的路径
我应该买一些像
["root","Dogs","Pug"]
(但使用treectrlid)
有这样的函数吗
getTreePath(Item)
?您可以迭代调用GetItemParent(Item)
以从项获取根节点,如下所示(源:):
注意:这将按所需的相反顺序提供项目,请使用pathList.reverse()
对此进行更正
编辑:
pathList.insert(0,path)
来避免颠倒列表,而不是pathList.append(path)
李>
GetItemText()
而不是整个对象仅附加每个项目的文本您可以迭代调用
GetItemParent(item)
从项获取根节点,如下所示(源代码:):
注意:这将按所需的相反顺序提供项目,请使用pathList.reverse()
对此进行更正
编辑:
pathList.insert(0,path)
来避免颠倒列表,而不是pathList.append(path)
李>
GetItemText()
而不是整个对象仅附加每个项目的文本我也使用迭代方法,但从当前选择的项目开始。它看起来像这样:
pieces = []
item = self.tree.GetSelection()
while self.tree.GetItemParent(item):
piece = self.tree.GetItemText(item)
pieces.insert(0, piece)
item = self.tree.GetItemParent(item)
我也使用迭代方法,但从当前选择的项目开始。它看起来像这样:
pieces = []
item = self.tree.GetSelection()
while self.tree.GetItemParent(item):
piece = self.tree.GetItemText(item)
pieces.insert(0, piece)
item = self.tree.GetItemParent(item)
如果使用
pathList.insert(0,path)
,则无需反转路径列表。否则,这是一种合理的方法。如果使用pathList.insert(0,path)
,则无需反转路径列表。否则,这是一个合理的方法。