python qthread mysql
时间: 2023-09-10 18:14:34 浏览: 100
如果您想使用 Python 和 MySQL 数据库,可以在 QThread 中执行 MySQL 查询。以下是一个简单的示例:
```python
from PyQt5.QtCore import QThread, pyqtSignal
import mysql.connector
class MySQLQueryThread(QThread):
query_result = pyqtSignal(list)
def __init__(self, query):
super().__init__()
self.query = query
def run(self):
connection = mysql.connector.connect(
host='localhost',
user='user',
password='password',
database='mydatabase'
)
cursor = connection.cursor()
cursor.execute(self.query)
result = cursor.fetchall()
self.query_result.emit(result)
cursor.close()
connection.close()
```
在这个示例中,我们创建了一个名为 `MySQLQueryThread` 的 QThread 子类。它接受一个 MySQL 查询作为参数,并在 `run()` 方法中执行该查询。查询结果通过 `query_result` 信号发射回主线程。
您可以使用以下代码启动线程并接收查询结果:
```python
query_thread = MySQLQueryThread("SELECT * FROM mytable")
query_thread.query_result.connect(handle_query_result)
query_thread.start()
def handle_query_result(result):
# 处理查询结果
```
在这个示例中,我们创建了一个名为 `handle_query_result` 的函数,该函数将在查询完成后被调用。查询结果作为参数传递给该函数。在此函数中,您可以处理查询结果并更新 UI。
阅读全文