【发布时间】:2016-10-07 20:01:09
【问题描述】:
我正在使用 PyQt5 创建一个简单的 GUI 应用程序,我从 API 请求一些数据,然后用于填充 UI 的各种控件。
我在 PyQt 中关注的有关工作线程的示例似乎都是 QThread 的子类,然后在覆盖的 run() 方法中执行它们的业务逻辑。这工作正常,但我想使用工作人员在不同时间执行不同的 API 调用。
所以我的问题是:我是否需要为我希望执行的每个操作创建一个特定的工作线程,或者是否有一种方法可以让我可以使用单个线程类在不同的时间执行不同的操作,从而避免创建不同线程子类的开销?
【问题讨论】:
-
你不应该继承
QThread。相反,使用QtConcurrent::run,或者可能是QObject的子类,并将这些工作对象移动到单个工作线程。
标签: python multithreading qt pyqt pyqt5