1

谁能帮我理解以下行为?如果我运行这个 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_())

我得到了我期望的孩子:

1 列

但是,如果我更改列数,

treeWidget.setColumnCount(10)

我现在让我的孩子在 6 级后被剪掉

在此处输入图像描述

非常感谢!

菲尔

4

0 回答 0