关于在QTableView中列首设置可勾选的问题

总结

在使用QTableView进行列表内容展示的时候,经常会遇到列首中设置为可勾选状态,然后设置勾选和不勾选时的图片,实现CheckBox的效果,下面记录一下设置和读取的方法。

关于设置:使用QStandardItemModel加载数据,然后使用setHorizontalHeaderLabels设置水平表头的各列首文字,最后使用setHorizontalHeaderItem设置列首第一个单元格为可勾选的Item,代码如下:

关于读取:先获取QTableView的水平表头的数据模型model,并强转为QStandardItemModel,然后使用QStandardItemModel的item获取列首第一列的数据item,并利用checkState()判断是否被勾选。

注意:读取的时候,都不要使用model中的data().value(),这个是获取不到勾选状态的,这也是为什么要强转为QStandardItemModel,因为直接获取到的是QAbastractItemModel,它里面并没有item这个函数。同样,设置表格中某一单元格为勾选状态的时候,也是要强转,如图所示。

  • 14
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值