QT: QTableWidget可编辑设置,设置部分可编辑

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可编辑
  • 16
    点赞
  • 121
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值