QTableView实时改变行列
时间: 2023-09-14 16:07:12 浏览: 125
对于QTableView的行列数的实时更新,您可以使用QStandardItemModel的方法来实现。
以下是一个简单的示例代码,用于演示如何实现QTableView的实时更新行列数:
```python
from PyQt5.QtWidgets import QApplication, QTableView, QStandardItemModel, QWidget, QVBoxLayout, QPushButton
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)
# 创建视图
table_view = QTableView()
table_view.setModel(model)
# 创建按钮
button = QPushButton("Add Row/Column")
def addRow():
model.setRowCount(model.rowCount() + 1)
def addColumn():
model.setColumnCount(model.columnCount() + 1)
button.clicked.connect(addRow)
button.clicked.connect(addColumn)
# 创建布局
layout = QVBoxLayout()
layout.addWidget(table_view)
layout.addWidget(button)
widget.setLayout(layout)
widget.show()
app.exec_()
```
在上面的代码中,我们创建了一个3x3的QStandardItemModel,并将其设置到QTableView中。然后,我们创建了一个按钮,点击按钮可以实时增加一行或一列。当增加行或列时,QTableView会自动更新。
阅读全文