【发布时间】:2019-07-04 07:40:42
【问题描述】:
我使用 QTableWidget 作为用户的 I/O 功能,但我想通过禁用仅用于数据输出的单元格的可编辑性使其对用户更加友好和直观。
我可以取消选中 Qt Designer 中每个单独单元格的标志下的“可编辑”,但只要我用self.table_item.setItem(row, column, QTableWidgetItem(str(value))) 更改单元格的值,这些单元格就可以再次编辑。
This question/answer 建议使用self.table_item.setEditTriggers(QtWidgets.QTableWidget.NoEditTriggers),但这会更改整个 QTableWidget 项的标志,而不仅仅是一个单元格。
我也尝试过self.table_time.item(row,column).setEditTriggers(QtWidgets.QTableWidget.NoEditTriggers),但我得到了回溯'QTableWidgetItem' object has no attribute 'setEditTriggers'。
.setFlags() 似乎是我确实需要使用的功能,但我不知道如何使用它来使某些内容不可编辑或如何将其应用于单个单元格。
问题:
在更改单元格 QTableWidgetItem 槽 .setItem() 的值后,如何在 PyQt5 中更改 QTableWidget 的单个单元格的“可编辑”标志。
如果您提供额外的解决方案以优雅的方式使整行不可编辑,您将获得额外的虚拟互联网积分。
【问题讨论】:
标签: python python-3.x pyqt pyqt5