PyQt4 QTreeWidget 父节点和子节点索引

2024-07-03 06:39:49 发布

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

我创建了pyqt4qtreewidget并添加了以下QTreeWidgetItem结构。在

treeWidget = QTreeWidget()

twi = QTreeWidgetItem(['Level_1'])
twi.addChild( QTreeWidgetItem( ['SubLevel_1_1'] ) )
twi.addChild( QTreeWidgetItem( ['SubLevel_1_2'] ) )
twi.addChild( QTreeWidgetItem( ['SubLevel_1_3'] ) )
twi.addChild( QTreeWidgetItem( ['SubLevel_1_4'] ) )

treeWidget.addTopLevelItem( twi )

当选择子项时,我要获取父项(顶层项)和子项索引。在


Tags: 结构leveladdchild子项顶层twiqtreewidgetitemqtreewidget
1条回答
网友
1楼 · 发布于 2024-07-03 06:39:49

首先,如果您计划从一个方法访问一个小部件,我会将它作为您的父控件/GUI的属性,因此

self.treeWidget = QTreeWidget()

然后在您的示例中,您忘记添加顶级项

^{pr2}$

要找到您当前的选择,您可以添加如下内容:

def getCurrentItems(self):

    """Returns Current top level item and child index.
    If no child is selected, returns -1. 
    """

    #Check if top level item is selected or child selected
    if self.treeWidget.indexOfTopLevelItem(self.treeWidget.currentItem())==-1:
        return self.treeWidget.currentItem().parent(),self.treeWidget.currentItem().parent().indexOfChild(self.treeWidget.currentItem())
    else:   
        return self.treeWidget.currentItem(),-1

然后通过以下方式连接方法:

self.treeWidget.itemActivated.connect(self.getCurrentItems)

希望有帮助。在

相关问题 更多 >