• 22630阅读
  • 15回复

Qt 如何画出实时的温度曲线? 求高手解答啊 [复制链接]

上一主题 下一主题
离线osnihui
 

只看楼主 倒序阅读 楼主  发表于: 2011-08-25
    想用Qt画出从传感器传来的实时温度曲线(平滑的那种),要纵轴是温度,横轴是时间,默认显示10分钟,若超过了10分钟,温度曲线就往左移动。请问高手:
1、画温度曲线的思路是要每隔几毫秒将传来的温度值打一个像素点吗?  
2、这是否要加入一个定时器?  
3、还有个QWT插件,我不是很了解,QWT是能画出平滑的曲线的,请问其能否画出这种温度随时间变化的曲线呢?原理是什么?也是每隔几毫米打点吗?  
  求高手解答小弟疑问,感激不尽!!!
凡事预则立不预则废
离线stonexin
只看该作者 1楼 发表于: 2011-08-25
引用楼主osnihui于2011-08-25 10:33发表的 Qt 如何画出实时的温度曲线? 求高手解答啊 :
    想用Qt画出从传感器传来的实时温度曲线(平滑的那种),要纵轴是温度,横轴是时间,默认显示10分钟,若超过了10分钟,温度曲线就往左移动。请问高手:
1、画温度曲线的思路是要每隔几毫秒将传来的温度值打一个像素点吗?  
2、这是否要加入一个定时器?  
3、还有个QWT插件,我不是很了解,QWT是能画出平滑的曲线的,请问其能否画出这种温度随时间变化的曲线呢?原理是什么?也是每隔几毫米打点吗?  
  求高手解答小弟疑问,感激不尽!!!

1、数据既然是从传感器里获得的,就要与传感器协议好,看传感器是怎么发送数据的。(一般情况下是起个定时器,固定个多少毫秒取数据)。
2、曲线是线,线是由点连接起来的,点越密集,线就越平滑。
3、QWT是专业的曲线绘制控件,原理也是建立个坐标系,然后给出坐标,它来将线性画出了。它有例子,可以参考一下。
招聘QT开发工程师--南京--2011.07.11
离线osnihui

只看该作者 2楼 发表于: 2011-08-25
回 1楼(stonexin) 的帖子
首先谢谢您的解答!
传感器过来的信号可以转成2进制数,然后这个值显示在曲线上就可以了,那我想横轴默认的时间段是10分钟,若超过了10分钟,曲线要移动,这个曲线移动您能提供个思路吗? 谢谢!
凡事预则立不预则废
离线uidab

只看该作者 3楼 发表于: 2011-08-25
回 2楼(osnihui) 的帖子
你看一下双缓冲画图的方式。我原来用vc做过和你的需求类似的。也是画曲线。
有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
离线osnihui

只看该作者 4楼 发表于: 2011-08-25
回 3楼(uidab) 的帖子
双缓冲的方式,好的,谢谢!
凡事预则立不预则废
离线slwebwildwol
只看该作者 5楼 发表于: 2011-08-26
平滑是需要插值的,否则画出的就是折线
网上有很多差值算法
qwt本身有差值的算法,可以直接拿来用,在spline里
离线osnihui

只看该作者 6楼 发表于: 2011-10-10
谢谢你了啊!呵呵,差值算法,好的,学习学习!
凡事预则立不预则废
离线regbbs
只看该作者 7楼 发表于: 2011-10-23
Re:回 1楼(stonexin) 的帖子
引用第2楼osnihui于2011-08-25 16:33发表的 回 1楼(stonexin) 的帖子 :
首先谢谢您的解答!
传感器过来的信号可以转成2进制数,然后这个值显示在曲线上就可以了,那我想横轴默认的时间段是10分钟,若超过了10分钟,曲线要移动,这个曲线移动您能提供个思路吗? 谢谢!



qwt的QwtPlotCurve

QVector<QPointF> *point = new QVector<QPointF>();
p->setSamples(*point);


QVector:push_back,pop_front
离线jorneyr

只看该作者 8楼 发表于: 2011-10-24
Re:回 2楼(osnihui) 的帖子
引用第3楼uidab于2011-08-25 17:42发表的 回 2楼(osnihui) 的帖子 :
你看一下双缓冲画图的方式。我原来用vc做过和你的需求类似的。也是画曲线。

直接点的说法就是把这些点和曲线先画到一张QPixmap上,然后再把这个pixmap一次画到QWidget的painter上。
离线刘锋
只看该作者 9楼 发表于: 2012-11-16
先学习起
离线jdwx

只看该作者 10楼 发表于: 2012-11-16
无非就是把数据存起来到STL容器,把数据画到屏幕上。
现在Qt内置双缓冲了吧?
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线liudianwu

只看该作者 11楼 发表于: 2015-04-08

欢迎关注微信公众号:Qt实战/Qt入门和进阶(各种开源作品、经验整理、项目实战技巧,专注Qt/C++软件开发,视频监控、物联网、工业控制、嵌入式软件、国产化系统应用软件开发) QQ:517216493  WX:feiyangqingyun  QQ群:751439350
离线toby520

只看该作者 12楼 发表于: 2015-04-08
   这个是paint出来的吗 还是有第三方的控件呢?
QtQML多多指教开发社区 http://qtclub.heilqt.com
将QtCoding进行到底
关注移动互联网,关注金融
开发跨平台客户端,服务于金融行业
专业定制界面
群号:312125701   373955953(qml控件定做)
离线cmj2836140

只看该作者 13楼 发表于: 2015-04-08
回 liudianwu 的帖子
liudianwu:[图片]
[图片] (2015-04-08 12:58) 

请问这个是用QWT写的吗,现在正在做上位机的实时监控,如果方便的话能不能放一部分源码?
离线honei_x

只看该作者 14楼 发表于: 2015-04-09
请教渲染方面的内容。
离线kimtaikee

只看该作者 15楼 发表于: 2015-04-09
回 cmj2836140 的帖子
cmj2836140:请问这个是用QWT写的吗,现在正在做上位机的实时监控,如果方便的话能不能放一部分源码? (2015-04-08 15:01)

http://www.qcustomplot.com/
它的代码可比它绘的图形难看多了。

快速回复
限100 字节
 
上一个 下一个