【问题标题】:PyQt5 QTableWidget: make last column editablePyQt5 QTableWidget:使最后一列可编辑
【发布时间】:2020-08-06 17:15:25
【问题描述】:
如何访问 QTableWidget 的最后一列?我想使用这样的方法将其设置为可编辑:
item = QtWidgets.QTableWidgetItem(stuff)
item.setFlags(QtCore.Qt.ItemIsEnabled) #make everything editable
self.qtable_widget.setItem(row, column, item)
【问题讨论】:
标签:
python
pyqt
pyqt5
qtablewidget
【解决方案1】:
要修改项目组的编辑能力,最好使用代理,如this solution所示,这个问题略有不同,所以我修改了我的解决方案:
class ReadOnlyDelegate(QtWidgets.QStyledItemDelegate):
def createEditor(self, parent, option, index):
# last column
if index.column() == (index.model().columnCount() - 1):
return super().createEditor(parent, option, index)
delegate = ReadOnlyDelegate(self.qtable_widget)
self.qtable_widget.setItemDelegate(delegate)