在我的wxpython程序中,我有一个从数据库填充的wxTreeCtrl。这是一个'笔记本'风格的应用程序,我设置它,以便每个音符都有自己唯一的ID。在我正在使用的数据库中,有两列,名称和ID。我正在寻找的是能够使用该数据库中的名称填充treectrl,但是当用户选择一个时,我希望事件获取id。我尝试使用一个基于索引的系统,该系统生成一个字典,每个音符的索引作为键,id作为值。问题是,我找不到获取所选项目索引的方法。查看docs,没有任何方法可以执行此操作。
有没有任何方法可以实现这一目标,还是有更好的方法来实现这一点,我忽略了?谢谢!
答案 0 :(得分:1)
我认为你要找的是SetPyData()。您可以在每个树项目上调用此项目并将对象附加到项目,以便您可以从树项目中提取其他信息。
关于wxPython wiki的这个教程在解释它方面做得不错:
相关代码是:
# add the child to the parent
childID = self.tree.AppendItem(parentID, child)
# associate the full child path with its tree entry
self.tree.SetPyData(childID, (child_path, False))