Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
wxPython TreeCtrl:获取一个treeitem';s按索引列出的数据_Python_Python 2.7_Wxpython_Treecontrol - Fatal编程技术网

wxPython TreeCtrl:获取一个treeitem';s按索引列出的数据

wxPython TreeCtrl:获取一个treeitem';s按索引列出的数据,python,python-2.7,wxpython,treecontrol,Python,Python 2.7,Wxpython,Treecontrol,如何通过树的索引获取树项的数据 我目前正在使用wxPython(使用Python 2.7)编写GUI。此GUI包含一个CustomTreeCtrl,其构建如下: # Create Tree control widget_tree = CustomTreeCtrl(parent=self, id=ID_WIDGET_TREE, agwStyle=wx.TR_HIDE_ROOT | wx.TR_SINGLE | wx.TR_HAS_BUTTONS,

如何通过树的索引获取树项的数据

我目前正在使用wxPython(使用Python 2.7)编写GUI。此GUI包含一个CustomTreeCtrl,其构建如下:

    # Create Tree control
    widget_tree = CustomTreeCtrl(parent=self, id=ID_WIDGET_TREE, agwStyle=wx.TR_HIDE_ROOT | wx.TR_SINGLE | wx.TR_HAS_BUTTONS, 
                                 size=(UI_tree_width, -1))
    widget_tree.SetBackgroundColour(wx.WHITE)
    root = widget_tree.AddRoot(text="root")

# Create general
    item_general = widget_tree.AppendItem(parentId=root, text='General')
    item_main = widget_tree.AppendItem(parentId=item_general, text='Main', data={'tooltip': 'Main'})
    widget_tree.AppendItem(parentId=item_general, text='Manual', data={'tooltip': 'Manual'})
    widget_tree.AppendItem(parentId=item_general, text='Boundary conditions', data={'tooltip': 'BC'})

    # Create stiffeners
    item_stiffener = widget_tree.AppendItem(parentId=root, text='Stiffeners')
    widget_tree.AppendItem(parentId=item_stiffener, text='Stiffener 1', data={'tooltip': 'Stiffener 1'})
    widget_tree.AppendItem(parentId=item_stiffener, text='Stiffener 2', data={'tooltip': 'Stiffener 2'})
    widget_tree.AppendItem(parentId=item_stiffener, text='Add stiffener', data={'tooltip': 'Creates a new stiffener'})
数据将通过用户的特定输入进行扩展。此外,点击“添加加强筋”将在“添加加强筋”上方插入一项。 为了使用该工具,我需要从每个加强筋处获取这些数据。 我想知道是否有可能在列表中调用这些类似的列表。例如,我可以调用widget_tree.GetTreeItem[0][1][0]来表示[root][hardingers][hardinger1]等等


我已经找了一段时间了,希望有人能帮我。提前谢谢

我继承了一个项目,它以一种非常复杂的方式来满足你的要求,但是你的帖子给了我一个新的想法。从概念上讲,我认为您讨论的是与本例中的
get\u item\u by\u index
方法类似的内容(我在所有调试打印中都留下了):

对于测试用例,它生成:

Trying tree index: [0]
arg_index=0, tree_index=0, item=root
Trying tree index: [0, 1]
arg_index=0, tree_index=0, item=root
arg_index=1, tree_index=1, item=Stiffeners
Trying tree index: [0, 0, 0]
arg_index=0, tree_index=0, item=root
arg_index=1, tree_index=0, item=General
arg_index=2, tree_index=0, item=Main
Trying tree index: [0, 1, 0]
arg_index=0, tree_index=0, item=root
arg_index=1, tree_index=1, item=Stiffeners
arg_index=2, tree_index=0, item=Stiffener 1
Trying tree index: [0, 1, 2]
arg_index=0, tree_index=0, item=root
arg_index=1, tree_index=1, item=Stiffeners
arg_index=2, tree_index=2, item=Add stiffener
Trying tree index: [0, 1, 8]
arg_index=0, tree_index=0, item=root
arg_index=1, tree_index=1, item=Stiffeners
list index out of range

一个大的警告是,我还没有在实践中使用它,因为我在刚才看到你的帖子之前没有这个想法。但是我把它拼凑在一起,我很想看看我是否可以取代我的项目过于复杂的方法。

这看起来很有希望!我是否正确理解您编写的函数返回带有给定索引的项?我看起来它也给了所有的家长,能不能只给这个项目加上要求的索引?对于该项,我可以使用item.GetPyData['data']来获取我想要的数据,对吗?顺便说一句,有趣的是,你可以在自己的项目中使用它!它返回
GenericTreeItem
实例;上面的输出来自我在中留下的调试打印。在示例代码中,我忽略了
get\u item\u by\u index
的返回值,但您可以使用它。啊,当然,应该已经注意到了。我会看看我能不能用这个。顺便说一句,我会提升你的职位,但还没有足够的声誉,所以如果我得到另一个提升,你会得到我的第一个提升。
Trying tree index: [0]
arg_index=0, tree_index=0, item=root
Trying tree index: [0, 1]
arg_index=0, tree_index=0, item=root
arg_index=1, tree_index=1, item=Stiffeners
Trying tree index: [0, 0, 0]
arg_index=0, tree_index=0, item=root
arg_index=1, tree_index=0, item=General
arg_index=2, tree_index=0, item=Main
Trying tree index: [0, 1, 0]
arg_index=0, tree_index=0, item=root
arg_index=1, tree_index=1, item=Stiffeners
arg_index=2, tree_index=0, item=Stiffener 1
Trying tree index: [0, 1, 2]
arg_index=0, tree_index=0, item=root
arg_index=1, tree_index=1, item=Stiffeners
arg_index=2, tree_index=2, item=Add stiffener
Trying tree index: [0, 1, 8]
arg_index=0, tree_index=0, item=root
arg_index=1, tree_index=1, item=Stiffeners
list index out of range