gpt4 book ai didi

python - wxPython: TreeCtrl: 如何通过名称获取树项?

转载 作者:太空宇宙 更新时间:2023-11-04 07:11:52 26 4
gpt4 key购买 nike

我正在使用 wxPython 并得到了一棵包含一些项目的树。现在我需要一个函数,它按名称给我树项对象。

例如:item = self.GetItemByName("我的故事")

我在文档中找不到这样的功能。

有没有人有什么想法?

最佳答案

这是查找具有特定标签的第一个树项的一种方法:

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!')

但是根据您在树中显示的内容,可能有更简单的方法来处理它。 TreeCtrl 已经提供了在您填充树时在树项和其他对象之间创建引用的工具,而且字典查找比我刚刚键入的内容更快、更清晰。

关于python - wxPython: TreeCtrl: 如何通过名称获取树项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6954242/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com