bob*_*ane 1 python tree wxpython
我正在使用wxPython并获得了一些带有一些项目的树.现在我需要一个函数,它按名称给我树项目对象.
例如:item = self.GetItemByName("MyStories")
我在文档中找不到这样的功能.
有没有人有任何想法?
这是查找具有特定标签的第一个树项的一种方法:
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!')
Run Code Online (Sandbox Code Playgroud)
但是根据你在树中显示的内容,可能有一种更简单的方法来处理它.TreeCtrl已经提供了在填充树时在树项和其他对象之间创建引用的工具,并且dict查找比我刚输入的更快更清晰.
| 归档时间: |
|
| 查看次数: |
4088 次 |
| 最近记录: |