简单记录一下解决这个问题的方法:
方法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官方手册。这里不做赘述。
本文介绍两种在Qt中禁用表格单元格编辑的方法。方法一使用setFlags(Qt::ItemIsEditable)使单元格内容变为灰色且不可选中,但可通过代码修改。方法二保留单元格颜色和选中状态,仅禁止编辑。
1457

被折叠的 条评论
为什么被折叠?



