无法将对象移动到线程

时间:2015-04-12 08:36:06

标签: python-3.4 qthread pyqt5

我正在构建一个小型串行监视器。它基于两个主要类:SerialSender和SerialListener。这些运行无限循环,因此它们应该放在它们自己的线程中。

有一个最小的代码可以重现我的程序错误的组合:

sender = SerialSender()
listener = SerialListener()

sender_thread = QThread()
listener_thread = QThread()

sender.moveToThread(sender_thread)
listener.moveToThread(sender_thread)

print("Main thread is: {mt}\n"
      "Sender thread is: {st}\n"
      "Listener thread is: {lt}".format(
       mt = int(QThread.currentThreadId()),
       st = int(sender.thread().currentThreadId()),
       lt = int(listener.thread().currentThreadId()))

使用此代码,我们可以期望有三个不同的线程ID,但我得到:

Main thread is: 139968246126400
Sender thread is: 139968246126400
Listener thread is: 139968246126400

这是从哪里来的?

0 个答案:

没有答案