pyQt4 - 如何选择表行并禁用编辑单元格

时间:2013-06-14 08:38:32

标签: python pyqt4

我用:

创建一个QTableWidget
self.table = QtGui.QTableWidget()
self.table.setObjectName('table')
self.table.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
verticalLayout.addWidget(self.table)

使用此选项可以选择行,但我不希望用户可以编辑此表的任何单元格。我知道您可以在填充表格时启用每个单元格。但是,是否有可能将整个表格的单元格设置为非活动状态(在填充表格之后),同时仍然可以选择行?

TIA Martin

2 个答案:

答案 0 :(得分:11)

使用

self.table.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers)

here you can find other triggers,以防您需要)

答案 1 :(得分:2)

您可以通过为表格中的每个项目设置标记ItemIsSelectableItemIsEnabled来停用编辑功能:

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)