目的:我想通过ui界面绘制多路实时曲线,单核多线程无法满足需求,因此我考虑采用多进程。
思路:我采用qt-designer自动生成test.ui和test.py文件,然后通过myUi = test.Ui_MainWindow(),将ui用myUi代替。我想直接将myUi作为参数,传给子进程里面运行的函数(每个子进程采集、绘制一路数据),最终实现多进程对ui界面进行修改,实现多路实时曲线绘制。
问题:多线程能直接将myUi传入子线程中的函数,然后在该函数中进行数据绘制的操作【myUi.plotwidget.plot(list_value, pen='r')】,如第一张图所示。但是子进程好像不能这样,如第二张图所示,麻烦各位帮帮忙,看能不能实现,谢谢各位。

请问各位“pyqt如何将ui控件作为参数传入子进程”
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 陈年椰子 2022-01-23 10:35关注
大概看了下需求
不知道这么理解是否是你的需求
1、在UI 界面增加个方法, 接收数据画图(多个曲线都可以画,输入路线和数值即可)
2、各个线程负责送数据给这个方法即可。
如果是这样,可以考虑用pubsub 完成进程通信。
参考下我在 wxpython 里的例子WxPython界面利用pubsub 展示进程工作的进度条_预则立-CSDN博客 用WxPython做界面时, 如果数据操作时间比较长,会使WxPython 界面处于假死状态,用户体验非常不好。WxPython是利用pubsub来完成消息的传送。下面提供一个WxPython界面利用pubsub 展示进程工作的进度条的例子,实际使用, 只要修改WorkThread 里的 run 内容 及 MainFrame 里的 updateDisplay 内容即可。...https://blog.csdn.net/seakingx/article/details/104496005
解决 无用评论 打赏 举报