pyqt 向 tableview 中新增行
时间: 2024-03-19 20:38:27 浏览: 127
ios-通过tableView添加行数.zip
在PyQt中,可以使用QTableView来显示表格,并且可以通过向模型添加数据来新增行。下面是向QTableView中新增行的一种方法:
1. 创建一个QStandardItemModel对象,该模型用于存储表格数据。
2. 使用setRowCount()方法设置模型的行数。
3. 使用setItem()方法向模型中的指定单元格设置数据。
4. 将模型设置给QTableView。
下面是一个示例代码,演示如何向QTableView中新增行:
```python
from PyQt5.QtWidgets import QApplication, QTableView, QVBoxLayout, QWidget, QPushButton
from PyQt5.QtGui import QStandardItemModel, QStandardItem
def add_row():
# 获取当前行数
row_count = model.rowCount()
# 在模型中新增一行
model.insertRow(row_count)
# 设置新行的数据
item1 = QStandardItem("Data 1")
item2 = QStandardItem("Data 2")
item3 = QStandardItem("Data 3")
model.setItem(row_count, 0, item1)
model.setItem(row_count, 1, item2)
model.setItem(row_count, 2, item3)
# 创建应用程序对象
app = QApplication([])
# 创建主窗口
window = QWidget()
# 创建布局
layout = QVBoxLayout()
# 创建按钮
button = QPushButton("Add Row")
button.clicked.connect(add_row)
# 创建表格视图
table_view = QTableView()
# 创建模型
model = QStandardItemModel()
# 设置表头
model.setHorizontalHeaderLabels(["Column 1", "Column 2", "Column 3"])
# 将模型设置给表格视图
table_view.setModel(model)
# 将按钮和表格视图添加到布局中
layout.addWidget(button)
layout.addWidget(table_view)
# 将布局设置给主窗口
window.setLayout(layout)
# 显示主窗口
window.show()
# 运行应用程序
app.exec_()
```
运行以上代码,点击"Add Row"按钮即可向QTableView中新增一行数据。
阅读全文