pyside6创建多线程的示例
时间: 2023-04-05 09:04:44 浏览: 163
一个创建多线程的例子
可以回答这个问题。以下是一个简单的 PySide6 创建多线程的示例:
```python
from PySide6.QtCore import QThread, Signal
from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton
import sys
class Worker(QThread):
finished = Signal()
def run(self):
# 在这里执行耗时操作
self.finished.emit()
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.button = QPushButton("Start", self)
self.button.clicked.connect(self.start_worker)
self.worker = Worker()
self.worker.finished.connect(self.worker_finished)
def start_worker(self):
self.button.setEnabled(False)
self.worker.start()
def worker_finished(self):
self.button.setEnabled(True)
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec())
```
这个示例中,我们创建了一个 `Worker` 类,继承自 `QThread`,并且定义了一个 `finished` 信号。在 `run` 方法中,我们可以执行一些耗时的操作,当操作完成后,我们发出 `finished` 信号。
在 `MainWindow` 类中,我们创建了一个按钮,当点击按钮时,我们启动了 `Worker` 线程,并且禁用了按钮。当 `Worker` 线程完成后,我们重新启用了按钮。
阅读全文