将数据库表中信息显示在Qtablewidget
时间: 2023-06-23 19:09:25 浏览: 245
要将数据库表中的信息显示在QTableWidget中,你需要先连接到数据库,查询数据,然后将数据填充到QTableWidget中。
以下是一个简单的示例代码,可以将数据库表中的所有信息显示在QTableWidget中:
```python
import sys
from PyQt5.QtWidgets import QApplication, QTableWidget, QTableWidgetItem
from PyQt5.QtSql import QSqlDatabase, QSqlQuery
# 连接到数据库
db = QSqlDatabase.addDatabase('QMYSQL')
db.setHostName('localhost')
db.setDatabaseName('test')
db.setUserName('root')
db.setPassword('password')
if not db.open():
print("Cannot establish a database connection")
sys.exit(1)
# 查询数据
query = QSqlQuery()
query.exec_("SELECT * FROM student")
# 创建QTableWidget并设置列数和行数
table = QTableWidget()
table.setColumnCount(query.record().count())
table.setRowCount(query.size())
# 填充数据
row = 0
while query.next():
for column in range(query.record().count()):
item = QTableWidgetItem(str(query.value(column)))
table.setItem(row, column, item)
row += 1
# 显示QTableWidget
table.show()
# 关闭数据库连接
db.close()
```
在这个示例中,我们首先连接到MySQL数据库,然后查询了一个名为"student"的表中的所有数据。然后,我们创建了一个QTableWidget,设置了列数和行数,然后使用一个循环将每个查询结果中的值填充到表中。
最后,我们显示了这个QTableWidget,并关闭了数据库连接。
请注意,这只是一个简单的示例,你需要根据自己的需求进行修改和定制化。
阅读全文