Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python QTreeWidget如何向子项添加复选框?_Python_Python 3.x_Pyqt_Pyqt5_Qtreeview - Fatal编程技术网

Python QTreeWidget如何向子项添加复选框?

Python QTreeWidget如何向子项添加复选框?,python,python-3.x,pyqt,pyqt5,qtreeview,Python,Python 3.x,Pyqt,Pyqt5,Qtreeview,我试图在QTreeViewWidget中为子项添加一些复选框,但它们没有显示出来 TreeList = ({ 'Header1': (('Item1', 'Item2', )), 'Header2': (('Item1', 'Item2', )), }) tree = QTreeWidget() for key, value in TreeList.items(): parent = QTreeWidgetItem(tree, [key]) for val i

我试图在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)

TreeView列表按其应该的方式填充,但复选框不存在,有什么想法吗?

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

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_())

工作完美。我希望PyQt设置一个默认值,但显然不是这样。