有谁能帮我理解以下行为?如果我运行这个PyQt脚本,我可以生成一个带有多个子项的QTreeView的简单窗口:
import sys
from PyQt4.QtGui import QApplication, QWidget, QTreeWidget, QTreeWidgetItem, QVBoxLayout
from PyQt4.QtCore import QStringList
app = QApplication(sys.argv)
win = QWidget()
win.resize(320, 240)
win.setWindowTitle("Hello, Overflowers!")
treeWidget = QTreeWidget()
treeWidget.setColumnCount(1)
def addChildWidgets(parent, depth=1):
child = QTreeWidgetItem(parent, QStringList([repr(depth)]*(depth+1)))
if (depth<12):
addChildWidgets(child, depth+1)
return child
item = QTreeWidgetItem(treeWidget, QStringList(["root"]))
addChildWidgets(item)
treeWidget.insertTopLevelItems(0, [item])
layout = QVBoxLayout()
layout.addWidget(treeWidget)
win.setLayout(layout)
win.show()
sys.exit(app.exec_())
我得到了我期待的孩子们:
但是,如果我更改列数,
treeWidget.setColumnCount(10)
我现在让我的孩子在6个等级之后被剪掉了
非常感谢!
菲尔