我正在尝试在QTreeViewWidget中为子项添加一些复选框,但它们没有显示。
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按原样填充,但复选框不存在,有什么想法吗?
答案 0 :(得分:2)
您必须为复选框设置一个值:
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_())