qtablewidget不可编辑
时间: 2023-08-29 18:12:41 浏览: 93
如果您的 QTableWidget 不可编辑,可以尝试以下几个步骤:
1. 设置 QTableWidget 的 EditTriggers 属性为 NoEditTriggers。
```python
tableWidget.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
```
2. 禁用单元格的编辑功能。
```python
item = QtWidgets.QTableWidgetItem()
item.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
tableWidget.setItem(row, column, item)
```
3. 禁用整个表格的编辑功能。
```python
tableWidget.setDisabled(True)
```
请注意,如果您使用的是自定义模型,可能需要在模型中禁用编辑功能。
相关问题
QTableWidget表头可编辑
QTableWidget的表头默认是不可编辑的,但你可以通过设置QTableWidget的属性来使表头可编辑。可以使用`setHorizontalHeaderItem`函数来设置表头项,并将该表头项设置为可编辑。下面是一个例子:
```python
from PyQt5.QtWidgets import QApplication, QTableWidget, QTableWidgetItem
app = QApplication([])
tableWidget = QTableWidget(4, 3)
# 设置表头项为可编辑
headerItem = QTableWidgetItem("Header")
headerItem.setFlags(headerItem.flags() | QtCore.Qt.ItemIsEditable)
tableWidget.setHorizontalHeaderItem(0, headerItem)
tableWidget.show()
app.exec_()
```
这样,第一列的表头就可以编辑了。
QTableWidget设置不可编辑
可以使用setEditTriggers()函数将QTableWidget设置为不可编辑,例如:
tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
或者
tableWidget->setEditTriggers(QAbstractItemView::EditTrigger::NoEditTriggers);
也可以使用setEditTriggers(QAbstractItemView::EditTrigger::NoEditTriggers)
这样就可以禁用编辑了。
阅读全文