• 1230阅读
  • 2回复

[提问]有关接收数据实时画图的卡顿问题 [复制链接]

上一主题 下一主题
离线tttomato
 

只看楼主 倒序阅读 楼主  发表于: 2021-09-09
写了一个程序,从串口接收数据,将这些数据存在TXT中,并且实时画出折线图。(数据传输波特率为115200)
画图使这个程序在运行中变得很卡,而且需要同步进行其它的功能,时间一长,程序就闪退了。
已经把接收数据放入了子线程中,但依旧很卡,闪退的现象也没有缓解。
如果我创建一个新的QT设计师界面,能不能用这个界面对应的cpp来写一个子线程,在这个子线程来实现数据接收以及对应的窗口界面上画图,降低对主线程和主窗口的影响。(想象中的效果就是按下对应按钮弹出界面2,在界面2上进行画图)
如果不能的话,大佬们有没有其它好的方法
离线shineryu

只看该作者 1楼 发表于: 2021-10-15
界面只能在主线程中,你可以画在QImage中,这个可以在子线程中,画完后再update将QImage对象paint到界面里。
离线steinlee

只看该作者 2楼 发表于: 2021-10-22
可以加个timer放慢显示,数据来的快的话可以自己做一个缓存,慢慢显示出来,就是不做实时
Looking for remote C/C++ and Qt 兼职
快速回复
限100 字节
 
上一个 下一个