pyside6如何增加QTableWidget的新行
时间: 2025-01-22 08:50:41 浏览: 62
### 如何在 PySide6 中向 `QTableWidget` 添加新行
为了在 PySide6 中向 `QTableWidget` 添加新行,可以使用 `insertRow()` 方法来指定插入的位置。通常情况下,在表格的最后一行之后添加新行是最常见的需求。
下面是一个简单的例子展示如何创建一个带有按钮的窗口应用,当点击该按钮时会在 `QTableWidget` 控件中增加一行数据:
```python
import sys
from PySide6.QtCore import Qt
from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton, QVBoxLayout, QWidget, QTableWidget
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("Add Row Example")
layout = QVBoxLayout()
self.table_widget = QTableWidget(0, 3) # 创建一个初始行为0,列为3的表单
self.table_widget.setHorizontalHeaderLabels(["Column 1", "Column 2", "Column 3"])
button_add_row = QPushButton('Add New Row')
button_add_row.clicked.connect(self.add_new_row)
layout.addWidget(self.table_widget)
layout.addWidget(button_add_row)
container = QWidget()
container.setLayout(layout)
self.setCentralWidget(container)
def add_new_row(self):
row_position = self.table_widget.rowCount() # 获取当前总行数
self.table_widget.insertRow(row_position) # 插入新的一行到最后一行
# 向新的这一行填充一些默认的数据项 (可选操作)
item_1 = QTableWidgetItem(f'Item {row_position}')
item_2 = QTableWidgetItem(str(random.randint(0, 9)))
item_3 = QTableWidgetItem(str(random.uniform(-1.0, 1.0)))
self.table_widget.setItem(row_position, 0, item_1)
self.table_widget.setItem(row_position, 1, item_2)
self.table_widget.setItem(row_position, 2, item_3)
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec())
```
这段代码定义了一个名为 `MainWindow` 的主类[^2],其中包含了用于显示表格的小部件以及用来触发新增行动作的按钮组件。每当用户按下这个按钮的时候就会调用 `add_new_row` 函数执行实际的新行加入逻辑并设置单元格内容。
阅读全文
相关推荐


















