QTableView将3行3列改为5行5列
时间: 2024-02-17 16:01:40 浏览: 19
您可以通过以下代码将3行3列的QTableView变为5行5列:
```python
from PyQt5.QtWidgets import QApplication, QTableView, QStandardItemModel, QWidget, QVBoxLayout
app = QApplication([])
widget = QWidget()
# 创建模型
model = QStandardItemModel()
model.setColumnCount(3)
model.setRowCount(3)
for row in range(3):
for column in range(3):
item = QStandardItem("({},{})".format(row, column))
model.setItem(row, column, item)
# 修改模型为5行5列
model.setColumnCount(5)
model.setRowCount(5)
for row in range(5):
for column in range(5):
if row < 3 and column < 3:
continue
item = QStandardItem("({},{})".format(row, column))
model.setItem(row, column, item)
# 创建视图
table_view = QTableView()
table_view.setModel(model)
# 创建布局
layout = QVBoxLayout()
layout.addWidget(table_view)
widget.setLayout(layout)
widget.show()
app.exec_()
```
在上面的代码中,我们首先创建了一个3x3的QStandardItemModel,并将其设置到QTableView中。然后,我们将模型修改为5x5的大小,并将原来的数据复制到新的模型中。最后,QTableView会自动根据新的模型大小进行更新。