pyqt的tableview设置无法修改
时间: 2023-10-09 21:17:28 浏览: 87
PyQt5 QTableView设置某一列不可编辑的方法
如果您想在PyQt的TableView中修改数据,可以使用以下步骤:
1. 创建一个模型(例如QStandardItemModel),并在其中设置数据。
2. 将模型设置为表格视图的模型(例如tableView.setModel(model))。
3. 在需要修改数据的时候,使用模型的setData方法来设置新的值。
以下是一个简单的例子,演示如何在PyQt的TableView中修改数据:
```python
from PyQt5.QtWidgets import QApplication, QTableView, QStandardItemModel, QMainWindow
if __name__ == '__main__':
app = QApplication([])
mainWindow = QMainWindow()
tableView = QTableView()
model = QStandardItemModel()
model.setHorizontalHeaderLabels(['Name', 'Age'])
# 添加数据
for i in range(5):
name = QStandardItem('Name {}'.format(i))
age = QStandardItem('Age {}'.format(i))
model.appendRow([name, age])
# 设置模型
tableView.setModel(model)
mainWindow.setCentralWidget(tableView)
mainWindow.show()
# 修改数据
model.setData(model.index(0, 0), 'New Name')
model.setData(model.index(0, 1), 'New Age')
app.exec_()
```
在这个例子中,我们创建了一个QStandardItemModel,添加了一些数据,并将其设置为TableView的模型。然后我们使用setData方法来修改第一行的数据。
阅读全文