pyside使用threading.Thread()创建多线程的示例
时间: 2023-04-05 14:04:32 浏览: 213
pyside6 登录注册界面 无边框
5星 · 资源好评率100%
可以使用以下代码示例:
```python
import threading
from PySide2.QtCore import QObject, Signal
class Worker(QObject):
finished = Signal()
def __init__(self):
super().__init__()
def run(self):
# 执行耗时操作
self.finished.emit()
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.worker = Worker()
self.worker_thread = threading.Thread(target=self.worker.run)
self.worker_thread.start()
self.worker.finished.connect(self.on_worker_finished)
def on_worker_finished(self):
# 处理耗时操作完成后的逻辑
pass
```
这个示例演示了如何使用 PySide2 和 threading.Thread() 创建多线程。在这个示例中,我们创建了一个 Worker 类,它继承自 QObject,并包含一个 run() 方法,该方法执行耗时操作。我们还创建了一个 MainWindow 类,它包含一个 worker 实例和一个 worker_thread 实例。在 MainWindow 的构造函数中,我们启动了 worker_thread,并将 worker.finished 信号连接到 on_worker_finished() 方法。当耗时操作完成时,worker.finished 信号将被发射,从而触发 on_worker_finished() 方法。在 on_worker_finished() 方法中,我们可以处理耗时操作完成后的逻辑。
阅读全文