qtablewidget设置某列_将`QTableWidget`中的整个列设置为python中的只读 - python

我想将表格中的列设置为只读!我尝试了所有可能的标志组合都没有成功

item = QtGui.QTableWidgetItem()

from operator import xor

item.setFlags(xor(item.flags(),QtCore.Qt.ItemIsEditable))

self.Table.setHorizontalHeaderItem(4, item)

我也尝试使用and not,!=和^运算符,但列项目仍可编辑

更新资料

我想我误会了!我认为当我使用insertRow()之类的操作将一列中的Horizo​​ntalHeaderItem设置为不可编辑时,该列中的所有新项目将自动变为不可编辑。

插入新行后,我已经对每个新添加的项目执行了这些功能!

tableWidget.insertRow(row+1)

if tableWidget is self.myTable:

item = QtGui.QTableWidgetItem()

item.setFlags(item.flags() != QtCore.Qt.ItemIsEditable)

tableWidget.setItem(row+1, 4, item)

我认为更好(但更复杂)的解决方案是使用setItemDelegateForColumn()和QtGui.QItemDelegate()创建只读的costum QTableWidgetItem,每次插入或创建新行时都会添加

编辑

好吧,我尝试如上所述使用setItemDelegateForColumn()和QtGui.QItemDelegate(),但是出现了以下警告

> py

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值