如何用python在Qt中将QTableWidget中的数据传入Sqlite数据库

如何用python在Qt中将QTableWidget中的数据传入Sqlite数据库

思维:
创建一个列表,然后运用append方法和双重循环形成二维列表
每次写入n个(方法1)
每次写入1行(方法2)
一次全部写入(方法3)

cursor.execute("create table  if not exists user (id int(10) primary key,name varchar(20),score decimal(10,2))")
      	data = []
        for row in range(0,self.tableWidget.rowCount()):
            data.append([])
            for column in range(0,self.tableWidget.columnCount()):
                data[row].append(self.tableWidget.item(row,column).text())

     方法1:cursor.execute('insert into user (id,name,score) values (?,?,?)',(data[row][0],data[row][1],data[row][2]))
     方法2:cursor.execute('insert into user (id,name,score) values (?,?,?)', data[row])
	 方法3:cursor.executemany('insert into user (id,name,score) values (?,?,?)', data)
PyQt5是一个Python编程语言的工具包,用于创建图形用户界面(GUI)。SQLite是一个轻量级的嵌入式数据库引擎,它可以轻松地集成到应用程序QTableWidget是PyQt5一个用于显示和编辑二维表格数据的小部件。 在PyQt5,使用QTableWidget来显示SQLite数据库数据,可以按照以下步骤进行操作: 1. 首先,导入需要的模块:`from PyQt5.QtWidgets import QApplication, QMainWindow, QTableWidget, QTableWidgetItem` 并连接到SQLite数据库:`import sqlite3` 2. 创建一个继承自QMainWindow的自定义窗口类,并在窗口的初始化方法设置布局等属性。 3. 创建一个QTableWidget实例,并设置它的行数和列数:`table = QTableWidget(row_count, col_count)` 4. 连接到SQLite数据库:`conn = sqlite3.connect('your_database.db')` 5. 创建一个游标对象:`cursor = conn.cursor()` 6. 执行SQL查询语句获取数据库数据:`cursor.execute('SELECT * FROM your_table')` 7. 使用fetchall()方法获取查询结果:`data = cursor.fetchall()` 8. 遍历查询结果,并将数据逐行添加到QTableWidget:`for row_number, row_data in enumerate(data):` `for column_number, column_data in enumerate(row_data):` `table.setItem(row_number, column_number, QTableWidgetItem(str(column_data)))` 9. 最后,关闭数据库连接:`conn.close()` 10. 将QTableWidget添加到窗口的主布局:`self.setCentralWidget(table)` 通过以上步骤,就可以使用PyQt5和SQLite数据库来显示自定义表格数据。在需要时,可以根据需求对QTableWidget进行自定义样式的设置,例如设置列宽、行高、表头等。 希望以上回答对你有所帮助!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值