pyqt5中的tablewidget怎么添加数据
时间: 2023-05-04 17:03:53 浏览: 328
在pyqt5中,TableWidget是一个强大而且灵活的控件,可以让用户显示和编辑数据。在TableWidget中,可以使用以下方法添加数据:
1. 通过代码添加行和列
使用以下代码可以添加一行和两列:
```
self.tableWidget.insertRow(0)
self.tableWidget.setItem(0, 0, QTableWidgetItem("Hello"))
self.tableWidget.setItem(0, 1, QTableWidgetItem("World"))
```
其中`insertRow()`方法用于添加一行,`setItem()`方法用于在指定位置(行列)添加数据项。
2. 通过读取文件添加数据
如果需要将文件中的数据添加到TableWidget中,可以通过以下代码实现:
```
with open('data.txt') as f:
for i, line in enumerate(f):
# 每行数据按照指定分隔符分割
row_data = line.strip().split(',')
for j, item in enumerate(row_data):
# 添加数据项
self.tableWidget.setItem(i, j, QTableWidgetItem(item))
```
以上代码用于打开名为"data.txt"的文件,在文件中逐行读取数据并分割为分列数据,最后使用`setItem()`方法将分列数据添加到每行的对应列。
3. 通过数据库添加数据
如果需要从数据库中读取数据并添加到TableWidget中,可以使用以下代码:
```
database = QSqlDatabase.addDatabase('QSQLITE')
database.setDatabaseName('mydatabase.db')
if not database.open():
print("Unable to open database!")
else:
query = QSqlQuery()
query.exec("SELECT * FROM mytable")
row = 0
while query.next():
for column in range(0, query.record().count()):
self.tableWidget.setItem(row, column, QTableWidgetItem(str(query.value(column))))
row += 1
database.close()
```
以上代码用于连接名为"mydatabase.db"的SQLite数据库,执行SQL查询语句并读取结果,最后使用`setItem()`方法将结果添加到TableWidget中。