下面的代码创建了一个简单的 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_())
最佳答案
您可以使用 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()
扩展一切,而不仅仅是扩展到一定深度。
关于python - 如何自动扩展 QTreeWidget 项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25166305/