def get_item_by_label(self, tree, search_text, root_item):
item, cookie = tree.GetFirstChild(root_item)
while item.IsOk():
text = tree.GetItemText(item)
if text.lower() == search_text.lower():
return item
if tree.ItemHasChildren(item):
match = self.get_item_by_label(tree, search_text, item)
if match.IsOk():
return match
item, cookie = tree.GetNextChild(root_item, cookie)
return wx.TreeItemId()
result = get_item_by_label(tree, 'MyStories', tree.GetRootItem())
if result.IsOk():
print('We have a match!')
同时机器人.jpg答案会起作用,但我发现更好的解决方案是在dict中跟踪id,如下所示(由@机器人.jpg&;@Steven Sproat)
然后,当你需要查找某个对象的条目时,你只需抓取树的id
^{pr2}$以下是查找第一个具有特定标签的树项的方法:
但是根据你在树中显示的内容,可能有一种更简单的方法来处理它。TreeCtrl已经提供了在填充树时在树项和其他对象之间创建引用的工具,dict查找比我刚才输入的要快得多,看起来更干净。在
您也可以重写TreeCtrl并用self更改tree\u ctrl\u instance
相关问题 更多 >
编程相关推荐