如何在QTableWidget中使特定单元格可编辑,而使其余单元格不可编辑?

问题描述 投票:0回答:2

我有一个不可编辑的QTableWidget。(我在创建Ui文件时设置了noEditTriggers)。我想使每行中的特定单元格可编辑。我怎样才能做到这一点?

我在SO和其他平台上调查了几个答案,但没有任何帮助。

当前,我正在使用这段代码。它没有给出错误,但我仍然无法编辑该单元格值。

self.item = QTableWidgetItem('Hi')
flags = self.item.flags()
flags ^= QtCore.Qt.ItemIsEditable
self.item.setFlags(flags)
self.table.setItem(row, column, self.item)

编辑::

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9kOWhWVi5qcGcifQ==” alt =“获取表格视图的”>“ >>

我有一个不可编辑的QTableWidget。(我在创建Ui文件时设置了noEditTriggers)。我想使每行中的特定单元格可编辑。我怎样才能做到这一点?我调查了几个...

python pyqt pyqt5 qtableview qtablewidget
2个回答
2
投票

@musicamante答案使用相同的原理是创建一个只返回特定列中的一个编辑器的委托,优点是您无需对QTableWidget进行子类化,并且该逻辑可以在其他类型的视图中使用:


0
投票

您可以为每个项目设置标志,同时保留默认的编辑触发器,但这不是很好的方法,因为您的表可能很大,某些项目可能会被更改/添加/删除,而您可能会忘记设置/重置标志。

© www.soinside.com 2019 - 2024. All rights reserved.