在PyQt 應用程式中正確使用QThreads:實用指南
在PyQt 中,利用QThreads 對於在執行耗時操作時保持在執行UI反應能力至關重要任務。然而,實施其「運行」方法並不是一個有效的辦法。本文探討如何在 Python 中有效地利用 QThreads。
正確實現的範例
考慮以下程式碼片段,它將GUI 從計算過程分離到不同的執行緒:
<code class="python">from PyQt4 import QtGui, QtCore import sys import random class Example(QtCore.QObject): signalStatus = QtCore.pyqtSignal(str) def __init__(self, parent=None): # ... def _connectSignals(self): # ... def createWorkerThread(self): # ... def forceWorkerReset(self): # ... def forceWorkerQuit(self): # ... class WorkerObject(QtCore.QObject): signalStatus = QtCore.pyqtSignal(str) def __init__(self, parent=None): # ... @QtCore.pyqtSlot() def startWork(self): # ... def primeFactors(self, n): # ... class Window(QtGui.QWidget): def __init__(self): # ... @QtCore.pyqtSlot(str) def updateStatus(self, status): # ... if __name__=='__main__': # ...</code>
關鍵實作細節:
透過遵守這些準則,可以在 PyQt 應用程式中有效地使用 QThreads,確保 GUI 在後台任務時保持回應已執行。
以上是如何在 PyQt 應用程式中有效使用 QThreads?的詳細內容。更多資訊請關注PHP中文網其他相關文章!