设置QTableWidgetItem不可编辑和可编辑状态

本文部分转自:http://blog.csdn.net/sinat_27593959/article/details/53048614?locationNum=3&fps=1

方法一:

通过QTableWidget中的item( )方法可以获得相应行数和列数的QTableWidgetItem,若要设置该Item的编辑状态(即可编辑状态和不可编辑状态),可以通过QTableWidgetItem下的setflags函数来设置。setflags函数需要传入的参数为枚举型的Qt::ItemFlags,该枚举类型描述如下:
enumItemFlag{

​ NoItemFlags=0,

​ ItemIsSelectable=1,

​ ItemIsEditable=2,

​ ItemIsDragEnabled=4,

​ ItemIsDropEnabled=8,

​ ItemIsUserCheckable=16,

​ ItemIsEnabled=32,

​ ItemIsTristate=64,

​ ItemNeverHasChildren=128,

​ ItemIsUserTristate=256

​};
通过需要表格框状态可分为如下三种:灰色不可编辑状态、浅色不可编辑状态和浅色可双击编辑状态,而setflags的参数传入可以通过强制类型转换的方式。即对应于如下:

灰色不可编辑状态:Item.setflags((ItemFlags) 0);
浅色不可编辑状态:Item.setflags((ItemFlags) 32);
​浅色可双击编辑状态:Item.setflags((ItemFlags) 63);

(注意:此处为63,不是64。虽然枚举类型中没有对应于63的值,但是63是QTableWidget实体创建的时候给每个Item的初始化flags值。设置成它就是可编辑状态!)

方法二:

this->item = ui->ControlTableWidget->item(i, 4);
// 设置单元格不可编辑
this->item->setFlags(this->item->flags() & (~Qt::ItemIsEditable));
// 设置单元格不可选择
this->item->setFlags(this->item->flags() & (~Qt::ItemIsSelectable));

上述是设置ControlTableWidget表格中第四列不可编辑和不可选择

  • 11
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值