pythonqtreewidget:返回树层次结构

2024-10-01 11:41:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我被困在试图获取小部件树的层次视图中。在

代码运行良好,并生成这样一个漂亮的树:

ROOT(Animal): 
| 
| 
|___Not extinct:
.         |                       (red)
.         |_____BIRD--------------(blue)
.         |                       (green)
          | 
          |                       (red)
          |_____Mammal------------(blue)
          |                       (green)
          | 
          |                       (red)
          |_____Reptile-----------(blue)
                                  (green)

下面是具有树层次结构的代码:

^{pr2}$

以下是将树叶添加到树中的代码:

def insert_treeLeaves(self,total,tree_directParent):
    for i in range(0,total):
        """leaves with color name"""
        tree_child_leaf = QtGui.QTreeWidgetItem()
        tree_directParent.addChild(tree_child_leaf)

然后,我们有一个函数,它告诉我们每次单击树时,以及单击的位置:

def obj_treeViewInput(self,item,col):
    print "obj _Qtree : pressed"
    print "name:" item.text(col)

问题是,我们怎样才能得到触摸到的叶子(红色)是否属于鸟或其他父亲,即如何通过鼠标点击获得以下输出: 动物-未灭绝-哺乳动物-(红色)。在

我们非常感谢您的意见和建议。在


Tags: 代码nameselfchildtreeobjdefcol
1条回答
网友
1楼 · 发布于 2024-10-01 11:41:45

在每个QtreeWidgetItem中有一个方法可以打印到该项的路径。在

在这个方法中,您可以使用递归来获取项父项的完整路径(您有一个“QTreeWidgetItem*parent()const”方法来完成此操作),然后将当前项的文本添加到其父项的路径中!当项没有任何父项时,停止递归。在

我希望我能理解你的问题,这对你有一点帮助!在

你有自己的QTreeWidgetItem类吗?你可以用一个特定的角色来实现这一点。。。在

相关问题 更多 >