从mysql中读取数据在pyqt5 tablewidget界面的列表中展示的完整代码
时间: 2024-02-25 15:54:38 浏览: 100
pyqt5 tablewidget 利用线程动态刷新数据的方法
下面是一个完整的示例代码,它可以从MySQL数据库中读取数据并在PyQt5中的QTableWidget组件中展示出来:
```python
import mysql.connector
from PyQt5.QtWidgets import QApplication, QMainWindow, QTableWidget, QTableWidgetItem, QVBoxLayout
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 连接到MySQL数据库
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="yourdatabase"
)
# 获取数据
mycursor = mydb.cursor()
mycursor.execute("SELECT * FROM yourtable")
myresult = mycursor.fetchall()
# 在QTableWidget中展示数据
tableWidget = QTableWidget()
tableWidget.setColumnCount(len(myresult[0]))
tableWidget.setRowCount(len(myresult))
for i, row in enumerate(myresult):
for j, col in enumerate(row):
item = QTableWidgetItem(str(col))
tableWidget.setItem(i, j, item)
# 将QTableWidget添加到界面中
layout = QVBoxLayout()
layout.addWidget(tableWidget)
centralWidget = QWidget()
centralWidget.setLayout(layout)
self.setCentralWidget(centralWidget)
if __name__ == '__main__':
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
```
在这个示例中,需要替换连接到MySQL数据库的相关信息和查询的表名。
阅读全文