共計 688 個字符,預計需要花費 2 分鐘才能閱讀完成。
在 Python 中,QThread 是 PyQt 庫中的一個類,用于在應用程序中創建多線程。
使用 QThread,可以將耗時的任務和 UI 操作分開,避免在主線程中執行耗時任務導致 UI 卡頓的問題。
以下是使用 QThread 的基本步驟:
- 創建一個繼承自 QThread 的子類,并重寫其 run() 方法,在 run() 方法中編寫需要在子線程中執行的任務。
from PyQt5.QtCore import QThread
class MyThread(QThread):
def __init__(self):
super().__init__()
def run(self):
# 執行耗時任務
pass
- 在主線程中實例化這個子類,并調用 start() 方法啟動線程。
my_thread = MyThread()
my_thread.start()
- 如果需要在子線程中發送信號給主線程,可以定義一個信號,并使用 pyqtSignal() 方法創建。
from PyQt5.QtCore import pyqtSignal
class MyThread(QThread):
finished = pyqtSignal()
def __init__(self):
super().__init__()
def run(self):
# 執行耗時任務
self.finished.emit()
- 在主線程中連接這個信號到一個槽函數,用于在任務完成時執行相應操作。
my_thread = MyThread()
my_thread.finished.connect(my_slot)
通過以上步驟,就可以在 Python 中使用 QThread 創建多線程,并實現多線程操作。
丸趣 TV 網 – 提供最優質的資源集合!
正文完