我要的是设置用户无法修改里面的数据
时间: 2024-03-26 15:40:49 浏览: 40
如果您想要禁止用户修改PyQt的TableView中的数据,可以在模型中设置单元格的Qt.ItemIsEditable属性为False。这样,用户就不能编辑表格中的单元格了。以下是一个例子:
```python
from PyQt5.QtWidgets import QApplication, QTableView, QStandardItemModel, QMainWindow
from PyQt5.QtCore import Qt
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))
# 设置单元格不可编辑
name.setFlags(name.flags() & ~Qt.ItemIsEditable)
age.setFlags(age.flags() & ~Qt.ItemIsEditable)
model.appendRow([name, age])
# 设置模型
tableView.setModel(model)
mainWindow.setCentralWidget(tableView)
mainWindow.show()
app.exec_()
```
在这个例子中,我们在添加数据的时候,将每个单元格的Qt.ItemIsEditable属性设置为False,这样就禁止了用户编辑表格中的单元格。