下面的代码创建了一个简单的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_())
答案 0 :(得分:6)
您可以使用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_())
你也可以使用expandAll()
来扩展所有内容,而不仅仅是扩展到某个深度。