QTableWidget设置单元格不可编辑
for(int iRow = 0; iRow < rowCount; ++ iRow)
{
for(int iColumn = 0; iColumn < columnCount; iColumn ++)
{
ui->tableWidget->item(iRow, iColumn)->setFlags(ui->tableWidget->item(iRow, iColumn)->flags() & ~Qt::ItemIsEnabled);
}
}
利用 Qt::ItemIsEnabled 属性取非和单元格的flags()相与(&)即可将单元格设置为不可编辑不可选中状态。
将单元格恢复为可编辑状态
for(int irow = 0; irow < rowCount; ++ irow)
{
for(int icolumn = 0; icolumn < columnCount; ++ icolumn)
{
ui->tableWidget->item(irow, icolumn)->setFlags(ui->tableWidget->item(irow, icolumn)->flags() | Qt::ItemIsEnabled);
}
}
将Qt::ItemIsEnabled 属性和单元格的flags()相或(|),即可将单元格恢复为可选中可编辑状态。