簡體   English   中英

PyQt 5 中的多線程

[英]Multi-Threading in PyQt 5

我一直在學習多線程,特別是在 PyQt 5 應用程序的上下文中。

最初我使用“線程”實現了一個版本,但后來了解到我應該使用“QThread”來允許使用信號/插槽,例如:

workerThread = QThread()
workerObject = Worker(cmdlist)
workerObject.moveToThread(workerThread)
workerThread.started.connect(workerObject.run)
workerObject.finished.connect(workerThread.quit)

但是,是否可以設計一個系統,其中:

  • 每個類都與一個在運行時創建的線程相關聯。
  • 然后程序的“主要”組件可以調用這些類中的函數,這些函數在給定類的單獨線程中執行。

行為的一個例子是這樣的:

 thread = threading.Thread(target=self.run, args=())

但是我將如何使用 QThread 實現類似的行為?
或者我對 Python 中線程的理解不正確?

Martin Fitzpatrick有一個關於如何使用 QThreadPools 做到這一點的驚人指南。 我想這就是你要找的。

使用 QThreadPool 處理多線程 PyQt 應用程序

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM