简单记录一下解决这个问题的方法:
方法1:
QTableWidgetItem* pItem = ui.tablewidget->item(iRowIndex, iColIndex); //获取该单元格的pItem
pItem->setFlags(Qt::ItemIsEditable);
这种方法可以使单元格内容变为灰色,且不能选中单元格;用户不能编辑单元格内容,但是可以这样修改:ui.tablewidget->item(iCurRow, iColIndex)->setText("XXXX");
方法2:
QTableWidgetItem* pItem = ui.tablewidget->item(iRowIndex, iColIndex);
pItem->setFlags(pItem->flags() & (~Qt::ItemIsEditable));
这种方法可以使单元格内容不会变为灰色,可以选中单元格,但是用户不能编辑单元格内容。
setFlags()
其它参数可以查看Qt官方手册。这里不做赘述。