如何自动扩展QTreeWidget项目

alp*_*ric 2 python pyqt

下面的代码创建了一个简单的QTreeWidget,其中两个项目是另一个项目的父级.我希望项目从开始扩展(因此用户无需单击箭头来展开项目):

以下是默认情况下的外观:

在此输入图像描述

以下是我希望的方式(扩展:项目"C"可见):

在此输入图像描述

需要设置什么属性才能使其正常工作?

from PyQt4 import QtCore, QtGui
app = QtGui.QApplication([])

class Tree(QtGui.QTreeWidget):
    def __init__(self, *args, **kwargs):
        super(Tree, self).__init__() 
        parentItem=QtGui.QTreeWidgetItem('P')
        self.addTopLevelItem(parentItem)
        childItem=QtGui.QTreeWidgetItem('C')
        parentItem.insertChild(0, childItem)
        self.show()
tree=Tree()
sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)

Brt*_*rtH 7

你可以用QTreeWidget.expandToDepth().

在你的情况下:

from PyQt4 import QtCore, QtGui
app = QtGui.QApplication([])

class Tree(QtGui.QTreeWidget):
    def __init__(self, *args, **kwargs):
        super(Tree, self).__init__() 
        parentItem=QtGui.QTreeWidgetItem('P')
        self.addTopLevelItem(parentItem)
        childItem=QtGui.QTreeWidgetItem('C')
        parentItem.insertChild(0, childItem)
        self.expandToDepth(0)
        self.show()
tree=Tree()
sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)

您还可以使用expandAll()扩展所有内容而不是仅扩展到某个深度.