pyside2 QTableWidget 按行添加数据
时间: 2024-05-20 09:07:36 浏览: 19
PySide2是一个用于创建跨平台桌面应用程序的Python模块,而QTableWidget是PySide2中的一个类,用于显示和编辑表格数据。要按行添加数据到QTableWidget,可以按照以下步骤进行操作:
1. 创建一个QTableWidget对象:
```python
table_widget = QTableWidget()
```
2. 设置表格的行数和列数:
```python
table_widget.setRowCount(row_count) # 设置行数
table_widget.setColumnCount(column_count) # 设置列数
```
3. 添加表头标签(可选):
```python
table_widget.setHorizontalHeaderLabels(header_labels) # 设置水平表头标签
table_widget.setVerticalHeaderLabels(header_labels) # 设置垂直表头标签
```
4. 添加数据到每一行:
```python
for row in range(row_count):
for column in range(column_count):
item = QTableWidgetItem(data[row][column]) # 创建一个QTableWidgetItem对象
table_widget.setItem(row, column, item) # 将QTableWidgetItem对象添加到指定的行和列
```
完整的示例代码如下:
```python
from PySide2.QtWidgets import QApplication, QMainWindow, QTableWidget, QTableWidgetItem
app = QApplication([])
window = QMainWindow()
table_widget = QTableWidget()
row_count = 3
column_count = 4
header_labels = ["Column 1", "Column 2", "Column 3", "Column 4"]
data = [
["Row 1, Column 1", "Row 1, Column 2", "Row 1, Column 3", "Row 1, Column 4"],
["Row 2, Column 1", "Row 2, Column 2", "Row 2, Column 3", "Row 2, Column 4"],
["Row 3, Column 1", "Row 3, Column 2", "Row 3, Column 3", "Row 3, Column 4"],
]
table_widget.setRowCount(row_count)
table_widget.setColumnCount(column_count)
table_widget.setHorizontalHeaderLabels(header_labels)
for row in range(row_count):
for column in range(column_count):
item = QTableWidgetItem(data[row][column])
table_widget.setItem(row, column, item)
window.setCentralWidget(table_widget)
window.show()
app.exec_()
```