pyqt qtmysql 增删改查封装代码,子线程运行
时间: 2024-01-17 13:02:38 浏览: 27
以下是一个PyQt和QtMySQL的增删改查封装代码,它可以在子线程中运行:
```python
from PyQt5.QtSql import QSqlDatabase, QSqlQuery
from PyQt5.QtCore import Qt, QThread
class DatabaseManager:
def __init__(self, dbType="QMYSQL", host="localhost", dbName="", username="", password=""):
self.db = QSqlDatabase.addDatabase(dbType)
self.db.setHostName(host)
self.db.setDatabaseName(dbName)
self.db.setUserName(username)
self.db.setPassword(password)
def open(self):
return self.db.open()
def close(self):
self.db.close()
def execute(self, query):
query = QSqlQuery(query, self.db)
query.exec_()
return query
class DatabaseThread(QThread):
def __init__(self, manager, query, callBack):
QThread.__init__(self)
self.manager = manager
self.query = query
self.callBack = callBack
def run(self):
self.manager.open()
result = self.manager.execute(self.query)
self.manager.close()
self.callBack(result)
```
以上代码将数据库操作封装为类和子线程,可以在主线程中运行。