Python 多线程执行耗时操作:使用 QThread 和 QRunnable
使用 QThread 实现耗时操作放在子线程中执行的步骤如下:
- 创建一个继承自 QThread 的子类,重写其 run() 方法,在 run() 方法中执行耗时操作的代码。
from PyQt5.QtCore import QThread
class WorkerThread(QThread):
def run(self):
# 耗时操作的代码
pass
- 在主线程中创建 WorkerThread 的实例,并调用其 start() 方法来启动子线程。
worker = WorkerThread()
worker.start()
使用 QRunnable 实现耗时操作放在子线程中执行的步骤如下:
- 创建一个继承自 QRunnable 的子类,重写其 run() 方法,在 run() 方法中执行耗时操作的代码。
from PyQt5.QtCore import QRunnable
class WorkerRunnable(QRunnable):
def run(self):
# 耗时操作的代码
pass
- 创建一个 QThreadPool 对象,将创建的 WorkerRunnable 实例添加到线程池中。
from PyQt5.QtCore import QThreadPool
pool = QThreadPool()
worker = WorkerRunnable()
pool.start(worker)
原文地址: https://www.cveoy.top/t/topic/pLf4 著作权归作者所有。请勿转载和采集!