1. 设置表格整体可编辑设置:

# 设置全部单元格可编辑
ui->tableWidget->setEditTriggers(QAbstractItemView::CurrentChanged);
# 设置全部单元格不可编辑
ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);

QAbstractItemView的参数介绍:

参数名解释
QAbstractItemView.NoEditTriggersNo editing possible. 不能对表格内容进行修改
QAbstractItemView.CurrentChangedEditing start whenever current item changes.任何时候都能对单元格修改
QAbstractItemView.DoubleClickedEditing starts when an item is double clicked.双击单元格
QAbstractItemView.SelectedClickedEditing starts when clicking on an already selected item.单击已选中的内容
QAbstractItemView.EditKeyPressedEditing starts when the platform edit key has been pressed over an item. 当在项目上按下平台编辑键时,编辑开始。
QAbstractItemView.AnyKeyPressedEditing starts when any key is pressed over an item.按下任意键就能修改
QAbstractItemView::AllEditTriggersEditing starts for all above actions.以上条件全包括

2. 设置表格部分单元格可编辑,部分不可编辑

首先先编辑QTableWidget可编辑,然后设置部分QTableWidgetItem设置不可编辑

# 设置QTableWidget可编辑
ui->tableWidget->setEditTriggers(QAbstractItemView::CurrentChanged);
# 遍历表格的每一行
for(int i=0; i<ui->tableWidget->columnCount()-1; i++)
{
        QTableWidgetItem* item = ui->tableWidget->item(i,1); //获取每行第1列的单元格指针
        item->setFlags(Qt::ItemIsEnabled);//设置改item不可修改;
}

QTableWidgetItem::setFlags介绍:

item->setFlags(Qt::ItemIsEnabled) 表格单元item不可编辑
item->setFlags(Qt::ItemIsEditable)   表格单元item可编辑

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部