QTableWidget表格部件中的QTableWidgetItem項可以單獨設置復選狀態,如圖所有項都設置了復選狀態,每行的復選狀態不同:
項的復選狀態可以通過checkState()來獲取,如果要改變項的復選狀態可以調用setCheckState(Qt.CheckState state)來實施。
示例代碼:
for row in range(3):
for col in range(3):
item = myTableItem(f"({row},{col})")
self.tableWidget.setItem(row,col,item)
item.setData(QtCore.Qt.DisplayRole,item.data(QtCore.Qt.DisplayRole))
item.setData(QtCore.Qt.DecorationRole,QtGui.QIcon('.\\icon\\'+str(row+1)+'.gif'))#設置圖標
item.setCheckState(row%3) #設置復選狀態
item.setData(QtCore.Qt.TextAlignmentRole,col % 3) #設置文本對齊方式
注意:
- 復選狀態的取值及含義請參考《PyQt(Python+Qt)學習隨筆:復選框狀態枚舉類Qt.CheckState取值及含義》,注意如果沒有設置允許復選,checkState返回值與未選中相同