2017-12-08 21 views
1

QTreeViewWidget의 하위 항목에 일부 확인란을 추가하려고하지만 표시되지 않습니다.QTreeWidget 어린이에게 확인란을 추가하는 방법은 무엇입니까?

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는 필요에 따라 채워지지만 체크 상자에는 아이디어가 없습니다.

답변

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

완벽하게 작동합니다. 나는 PyQt가 디폴트 값을 설정할 것을 기대하지만, 분명히 그렇지 않다. –