添加checkBox
QTableWidgetItem有CheckState屬性,既能顯示QCheckBox,也能讀取狀态
self.check = QtWidgets.QTableWidgetItem()
self.check.setCheckState(QtCore.Qt.Unchecked) #把checkBox設為未選中狀态
self.tableWidget.setItem(x,y,self.check) #在(x,y)添加checkBox
注:在我測試時發現,若tableWidget不止一行,則必須給每行每列元素進行指派,如果某一行未指派完就對下一行指派,會出現奇怪的錯誤
col=...
#設定列數
self.tableWidget.setColumnCount(col)
self.check = QtWidgets.QTableWidgetItem()
self.check.setCheckState(QtCore.Qt.Unchecked)
self.tableWidget.setItem(x,y,self.check)
#對該行其餘元素指派
for i in range(col):
if i != y:
self.tableWidget.setItem(x, i, QtWidgets.QTableWidgetItem('...'))
由于是之前一段時間寫的,這裡就沒有對錯誤進行複現,就當是做一個簡單的記錄
要是需要讀取checkBox的狀态
#擷取(x,y)的狀态
self.tableWidget.item(x,y).checkState()
參考:QTableWidget中checkBox狀态判斷
添加comboBox
comboBoxList=[...]
comboBox=QtWidgets.QComboBox()
comboBox.addItems(comboBoxList)
self.tableWidget.setCellWidget(x,y,comboBox) #在(x,y)添加comboBox
要是需要讀取comboBox的值
#擷取(x,y)的值
self.tableWidget.cellWidget(x,y).currentText()