添加checkBox QTableWidgetItem有CheckState属性,既能显示QCheckBox,也能读取状态
1 2 3 4 5 self.check = QtWidgets.QTableWidgetItem() #把checkBox设为未选中状态 self.check.setCheckState(QtCore.Qt.Unchecked) #在(x,y)添加checkBox self.tableWidget.setItem(x,y,self.check)
注:在我测试时发现,若tableWidget不止一列,则必须给每行每列元素进行赋值,如果某一行未赋值完就对下一行赋值,会出现奇怪的错误
1 2 3 4 5 6 7 8 9 10 11 col=... #设定列数 self.tableWidget.setColumnCount(col) self.check = QtWidgets.QTableWidgetItem() self.check.setCheckState(QtCore.Qt.Unchecked) self.tableWidget.setItem(x,y,self.check) #对该行其余元素赋值 for j in range(col): if j!=y: self.tableWidget.setItem(x,j,QtWidgets.QTableWidgetItem('...'))
由于是之前一段时间写的,这里就没有对错误进行复现,就当是做一个简单的记录
要是需要读取checkBox的状态
1 2 #获取(x,y)的状态 self.tableWidget.item(x,y).checkState()
参考:QTableWidget中checkBox状态判断
添加comboBox 1 2 3 4 5 6 comboBoxList=[...] comboBox=QtWidgets.QComboBox() comboBox.addItems(comboBoxList) #在(x,y)添加comboBox self.tableWidget.setCellWidget(x,y,comboBox)
要是需要读取comboBox的值
1 2 #获取(x,y)的值 self.tableWidget.cellWidget(x,y).currentText()