pyqt tableview mysql_PyQt5 QTableView使用pymysql连接数据库的方法
时间: 2024-02-03 07:15:24 浏览: 137
PyQt中使用QtSql连接MySql数据库的方法
使用PyQt5中的QTableView显示MySQL数据库中的数据,可以通过以下步骤实现:
1. 安装PyMySQL模块:
```
pip install PyMySQL
```
2. 导入PyQt5和PyMySQL模块:
```python
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QTableView
from PyQt5.QtSql import QSqlDatabase, QSqlQuery, QSqlTableModel
import pymysql
```
3. 创建一个数据库连接:
```python
db = QSqlDatabase.addDatabase("QMYSQL")
db.setHostName("localhost") # 数据库主机名
db.setPort(3306) # 数据库端口
db.setDatabaseName("test") # 数据库名称
db.setUserName("root") # 数据库用户名
db.setPassword("123456") # 数据库密码
if not db.open():
print("无法连接数据库")
sys.exit(-1)
```
4. 执行SQL查询并将结果显示在QTableView中:
```python
model = QSqlTableModel()
model.setTable("student") # 表名
model.setEditStrategy(QSqlTableModel.OnManualSubmit)
model.select()
view = QTableView()
view.setModel(model)
view.show()
```
完整代码示例:
```python
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QTableView
from PyQt5.QtSql import QSqlDatabase, QSqlQuery, QSqlTableModel
import pymysql
if __name__ == '__main__':
app = QApplication(sys.argv)
db = QSqlDatabase.addDatabase("QMYSQL")
db.setHostName("localhost") # 数据库主机名
db.setPort(3306) # 数据库端口
db.setDatabaseName("test") # 数据库名称
db.setUserName("root") # 数据库用户名
db.setPassword("123456") # 数据库密码
if not db.open():
print("无法连接数据库")
sys.exit(-1)
model = QSqlTableModel()
model.setTable("student") # 表名
model.setEditStrategy(QSqlTableModel.OnManualSubmit)
model.select()
view = QTableView()
view.setModel(model)
view.show()
sys.exit(app.exec_())
```
注意:该代码只是简单地演示了如何使用PyQt5和PyMySQL连接数据库,并将数据显示在QTableView中。在实际应用中,需要根据具体需求进行相应的修改和优化。
阅读全文