Python多线程和(共享变量|| Qt)

时间:2017-08-31 15:27:14

标签: python multithreading qt pyqt

我正在重新设计我的软件,因为最后一个因为以

开头的进程错误地访问Qt界面而崩溃了
serialThread = threading.Thread(target=serialCycle)
serialThread.setDaemon(True)
serialThread.start()

serialThread主要等待传入的串行数据,解码它们并将它们放在一个列表中(可能我将移动到一个numpy数组)。有关连接的信息(串口,速度,已收到的数据量)必须写在qt ui中。我主要使用全局变量来交换主线程和串口线程之间的信息;我可以确保每个变量只由一个线程写入并从另一个线程读取以避免出现问题。

Qt更新有点难以向主线程发送信息,所以我寻找另一种解决方案。我找到了这个帖子(Updating GUI elements in MultiThreaded PyQT),但我没有说明问题。如果我启动一个带插槽的线程,信号不能因多次访问同一个变量而崩溃?

  • (问题1)开始并行运行线程,因此他们不应该更改qt界面......

  • (问题2)无法加载整个.ui窗口"链接"到另一个线程,所以这个线程可以更新它(显然不是主线程)

  • (问题3)哪一个是最简单的方法,可以通过不同的线程更新关于自身状态的gui(以及让用户更改参数)?

由于

0 个答案:

没有答案