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返回值與未選中相同