2016-09-15 22 views
0

QTableWidget의 모든 행에 체크 보이를 추가하려고하는데 불행히도 첫 번째 행에만 표시되는 것 같습니다. 여기 내 코드는 다음과 같습니다.Python - QTableWidget의 모든 행에 확인란을 추가하십시오.

data = ['first_row', 'second_row', 'third_row'] 
nb_row = len(data) 
nb_col = 2 

qTable = self.dockwidget.tableWidget 
qTable.setRowCount(nb_row) 
qTable.setColumnCount(nb_col) 
chkBoxItem = QTableWidgetItem() 

for row in range(nb_row): 
    for col in [0]: 
     item = QTableWidgetItem(str(data[row])) 
     qTable.setItem(row,col,item) 
    for col in [1]: 
     chkBoxItem.setFlags(QtCore.Qt.ItemIsUserCheckable | QtCore.Qt.ItemIsEnabled) 
     chkBoxItem.setCheckState(QtCore.Qt.Unchecked)  
     qTable.setItem(row,col,chkBoxItem) 

나는 분명한 뭔가를 놓치고 있습니까?

은 또한 다음과 같은 게시물을 확인 :

답변

2

좋아, 난 그냥 내가 새를 만들 수있다 생각 (마지막 루프 내에서 chkBoxItem = QTableWidgetItem()을 넣어했다 QTableWidgetItem() 각 행의 항목 ...) :

for col in [1]: 
    chkBoxItem = QTableWidgetItem() 
    chkBoxItem.setFlags(QtCore.Qt.ItemIsUserCheckable | QtCore.Qt.ItemIsEnabled) 
    chkBoxItem.setCheckState(QtCore.Qt.Unchecked)  
    qTable.setItem(row,col,chkBoxItem)