我用:
创建一个QTableWidgetself.table = QtGui.QTableWidget()
self.table.setObjectName('table')
self.table.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
verticalLayout.addWidget(self.table)
使用此选项可以选择行,但我不希望用户可以编辑此表的任何单元格。我知道您可以在填充表格时启用每个单元格。但是,是否有可能将整个表格的单元格设置为非活动状态(在填充表格之后),同时仍然可以选择行?
TIA Martin
答案 0 :(得分:11)
使用
self.table.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers)
(here you can find other triggers,以防您需要)
答案 1 :(得分:2)
您可以通过为表格中的每个项目设置标记ItemIsSelectable
和ItemIsEnabled
来停用编辑功能:
table = QTableWidget(10,10)
for i in range(10):
for j in range(10):
item = QTableWidgetItem(str(i*j))
item.setFlags( Qt.ItemIsSelectable | Qt.ItemIsEnabled )
table.setItem(i, j, item)