Python PyQt和线程:多线程查询 形势

Python PyQt和线程:多线程查询 形势,python,multithreading,pyqt,methodology,Python,Multithreading,Pyqt,Methodology,我正在使用python2.7。我正在开发一个使用PyQt4的GUI应用程序 我在小部件中有一个按钮,当您单击它时,它将请求用户指定的一系列ID。用户可以指定程序应该为“作业”分配多少线程 我最初的想法 该按钮生成一个作业线程,并将ID范围和线程数传递给它。然后,作业线程可以创建子线程,并根据需要从范围向它们传递ID 获取所有ID后,作业线程可以停止其所有工作线程,然后停止自身 我将利用signals/slot在作业中的工作线程获取数据时用数据更新GUI元素 我使用线程,因此GUI在获取过程中保持

我正在使用
python2.7
。我正在开发一个使用
PyQt4
的GUI应用程序

我在小部件中有一个按钮,当您单击它时,它将请求用户指定的一系列ID。用户可以指定程序应该为“作业”分配多少线程

我最初的想法 该按钮生成一个作业线程,并将ID范围和线程数传递给它。然后,作业线程可以创建子线程,并根据需要从范围向它们传递ID

获取所有ID后,作业线程可以停止其所有工作线程,然后停止自身

我将利用signals/slot在作业中的工作线程获取数据时用数据更新GUI元素

我使用线程,因此GUI在获取过程中保持可交互

问题 “可怕的PyQt多线程问题”发生在我试图从线程中生成线程时

QObject: Cannot create children for a parent that is in a different thread.
我的变通方法 我只是从包含按钮的小部件中生成了作业线程和工作线程,这样就不会从线程中生成任何线程,然后将工作线程“连接”到作业线程

A la
aThread=ScrapeThread(self,aJob)
其中aJob是主作业线程

这似乎是可行的,但感觉更像是一种解决方法,而不是正确的方法

问题 我所做的似乎是一种变通方法,而不是在PyQt中实现多线程的正确方法


有什么建议吗?

谢谢你的帮助。我现在就做。:)