QTreeWidget如何给children添加复选框?

QTreeWidget how to add check boxes to children?

我正在尝试向 QTreeViewWidget 中的 children 添加一些复选框,但它们没有显示。

TreeList = ({
    'Header1': (('Item1', 'Item2', )),
    'Header2': (('Item1', 'Item2', )),
})

tree = QTreeWidget()

for key, value in TreeList.items():
    parent = QTreeWidgetItem(tree, [key])
    for val in value:
        child = QTreeWidgetItem([val])
        child.setFlags(child.flags() | Qt.ItemIsUserCheckable)
        parent.addChild(child)

TreeViewList 按预期填充,但复选框不存在,有什么想法吗?

您必须为复选框设置一个值:

child.setCheckState(0, Qt.Unchecked)

你的情况:

app = QApplication(sys.argv)

TreeList = ({
    'Header1': (('Item1', 'Item2', )),
    'Header2': (('Item1', 'Item2', )),
})

tree = QTreeWidget()

for key, value in TreeList.items():
    parent = QTreeWidgetItem(tree, [key])
    for val in value:
        child = QTreeWidgetItem([val])
        child.setFlags(child.flags() | Qt.ItemIsUserCheckable)
        child.setCheckState(0, Qt.Unchecked)
        parent.addChild(child)
tree.show()

sys.exit(app.exec_())