将QtableWidget中的内容插入到数据库中代码
时间: 2024-03-24 15:41:15 浏览: 98
Qt常用类(2)QTableWidget实用代码
以下是一个将 QTableWidget 中内容插入到 SQLite 数据库中的完整示例代码:
```python
import sqlite3
from PyQt5.QtWidgets import QApplication, QTableWidget, QTableWidgetItem
class Example(QTableWidget):
def __init__(self):
super().__init__()
# 创建表格并添加数据
self.setColumnCount(3)
self.setRowCount(3)
for row in range(self.rowCount()):
for col in range(self.columnCount()):
item = QTableWidgetItem()
item.setText(f"row {row}, col {col}")
self.setItem(row, col, item)
# 将数据插入到数据库中
self.insert_to_database()
def insert_to_database(self):
# 连接到数据库
conn = sqlite3.connect('example.db')
c = conn.cursor()
# 创建一个数据库表
c.execute('''CREATE TABLE IF NOT EXISTS my_table
(col1 TEXT, col2 TEXT, col3 TEXT)''')
# 迭代 QTableWidget 中的每一行并将其插入到数据库表中
for row in range(self.rowCount()):
col1 = self.item(row, 0).text()
col2 = self.item(row, 1).text()
col3 = self.item(row, 2).text()
c.execute("INSERT INTO my_table VALUES (?, ?, ?)", (col1, col2, col3))
# 提交更改并关闭数据库连接
conn.commit()
conn.close()
if __name__ == '__main__':
app = QApplication([])
ex = Example()
ex.show()
app.exec_()
```
该示例创建了一个 3x3 的表格并向其中添加了一些数据。然后,通过 `insert_to_database` 方法将表格中的数据插入到 SQLite 数据库中。请注意,该示例使用了 `sqlite3` 模块来连接和操作 SQLite 数据库,因此您需要确保已安装该模块。
阅读全文