7091|14

317

帖子

4

资源

一粒金砂(高级)

利用QT5绘图 [复制链接]

现有个目的:用QT应用程序调用ADC驱动函数,得到了采样值,需要显示在屏幕上面。一种是利用LCD控件直接实时显示数字,这一点已经做好了;还有一种是将得到的结果绘制在一个坐标系中,得到ADC的采样曲线图。

因为用QPaint每次执行一次PaintEvent的时候,都是讲上一次的绘图结果清除了重新绘制的(不知道有没有说错额,看书看得不够深,请不要打我),所以要显示之前的采样结果的话,会遇到麻烦。

我想到的一种办法是:设置一个静态的数组,每次采样一个结果,就存储在数组中(分别存在1,2,3,,,的位置),这样就凑齐了之前的采样数据,然后在每次绘图的时候,将之前绘制过的图重新绘制一遍,并且绘制本次的采样结果(用的是drawline的方式,绘制数组中相邻的两个点,时间轴用的是定时器 timer 定时触发变量 i 自加的方式),这样子确实可以绘制出一条曲线。

可是有几个问题:

1.在我打开定时器了后来暂停绘制曲线(暂停采样数据)了之后,重新开启定时器的时候,触摸屏上会立即出现一小段曲线(给人的感觉是在我停止采样的时候暗地里采样并保留的数据),而且还是连续着我停止采样的时候的那段曲线(后来用正弦曲线作为测试输入也是一样的结果),这一点不太理解;

2.在绘制图形的时候,我点击触摸屏的空白处,会对采样结果(曲线)造成很大的影响,曲线立即上升或者下降;

3.开发板上的一个稳压芯片会发热比较厉害,而且屏幕也跟着发热(能感受得到有发热)。这一点可能是因为我绘制曲线的时候,需要的缓存量比较大,芯片工作量太大?

希望得到高人前辈指点迷津
此帖出自编程基础论坛

ADC_Griph.zip

4.68 KB, 下载次数: 16

ADC绘图代码


回复

317

帖子

4

资源

一粒金砂(高级)

一不小心忘了问(其实是因为打字太多,搞忘记的):有没有什么更好的办法来做类似的这种绘图,效率高或者节省空间

回复

1191

帖子

3

资源

五彩晶圆(初级)

干嘛自己画,累死,有很多控件的,网上找找一堆堆~

点评

这个,,,我还只是接触QT不太久,不太会用简便的方法。  详情 回复 发表于 2015-8-8 15:47
个人签名construction complete!

回复

317

帖子

4

资源

一粒金砂(高级)

zqjqq88 发表于 2015-8-8 09:03
干嘛自己画,累死,有很多控件的,网上找找一堆堆~

这个,,,我还只是接触QT不太久,不太会用简便的方法。

回复

87

帖子

0

资源

一粒金砂(中级)

非常感谢楼主,最近正在学相关方面的知识,遇到一些问题,正好楼主在这里做了详细的分析和说明,给我们提供了一些解决问题的思路和方法,我要向楼主学习,楼主真棒~~

点评

但是我这里是想求教的,因为感觉这种思路做不好。  详情 回复 发表于 2015-8-11 21:31

回复

317

帖子

4

资源

一粒金砂(高级)

lb1229305710 发表于 2015-8-11 16:10
非常感谢楼主,最近正在学相关方面的知识,遇到一些问题,正好楼主在这里做了详细的分析和说明,给我们提供 ...

但是我这里是想求教的,因为感觉这种思路做不好。

回复

1027

帖子

0

资源

纯净的硅(初级)

qt中有一个专门绘图的库,还挺好用的  QCustomPlot 可以试试看额

点评

我下载的qcustomplot在linux下编译通不过,提示qcustomplot.h和qcustomplot.cpp有问题,但windows下的QT5是可以通过并运行的。并且在windows环境下编译之后生成的exe文件过一会儿就被360提醒有特洛伊木马病毒,也是  详情 回复 发表于 2015-9-7 21:59

回复

1049

帖子

0

资源

纯净的硅(高级)

本帖最后由 石玉 于 2015-8-25 20:44 编辑

楼主,我这几天也在做电压采样然后用坐标显示曲线,直接用QWT吧,很好用
对于第三点,这应该是硬件问题了,做硬件时应该要考滤到并留有足够的余量啊

点评

按照博客上说的,但是在qdesigner里面还是没有显示qwt的控件,最要命的是里面说的路径我电脑安装路径里面根本就没有。所以就弃了去弄qcustomplot了  详情 回复 发表于 2015-9-7 22:01

回复

1049

帖子

0

资源

纯净的硅(高级)


回复

317

帖子

4

资源

一粒金砂(高级)

247153481 发表于 2015-8-25 13:20
qt中有一个专门绘图的库,还挺好用的  QCustomPlot 可以试试看额

我下载的qcustomplot在linux下编译通不过,提示qcustomplot.h和qcustomplot.cpp有问题,但windows下的QT5是可以通过并运行的。并且在windows环境下编译之后生成的exe文件过一会儿就被360提醒有特洛伊木马病毒,也是蛮醉的。
qcustomplot编译问题.png

点评

不会吧,这么多问题。看提示主要是说变量未定义,你可能需要看看源码,会不会是头文件没有没有包含等等原因哈。 你可以试试使用qtcreater嘛  详情 回复 发表于 2015-9-8 08:56

回复

317

帖子

4

资源

一粒金砂(高级)

石玉 发表于 2015-8-25 20:40
楼主,我这几天也在做电压采样然后用坐标显示曲线,直接用QWT吧,很好用
对于第三点,这应该是硬件问题了 ...

按照博客上说的,但是在qdesigner里面还是没有显示qwt的控件,最要命的是里面说的路径我电脑安装路径里面根本就没有。所以就弃了去弄qcustomplot了

点评

好像有一个文件夹没有,自已建一个  详情 回复 发表于 2015-9-7 22:56

回复

1049

帖子

0

资源

纯净的硅(高级)

郑小气聋子 发表于 2015-9-7 22:01
按照博客上说的,但是在qdesigner里面还是没有显示qwt的控件,最要命的是里面说的路径我电脑安装路径里面 ...

好像有一个文件夹没有,自已建一个

点评

那个啥,暂时没分再分给你们了,本来说好的给1000,,,不好意思,先欠着,以此为字据,划字签押  详情 回复 发表于 2015-9-8 16:30

回复

1027

帖子

0

资源

纯净的硅(初级)

郑小气聋子 发表于 2015-9-7 21:59
我下载的qcustomplot在linux下编译通不过,提示qcustomplot.h和qcustomplot.cpp有问题,但windows下的QT5 ...

不会吧,这么多问题。看提示主要是说变量未定义,你可能需要看看源码,会不会是头文件没有没有包含等等原因哈。
你可以试试使用qtcreater嘛

回复

7974

帖子

54

资源

裸片初长成(中级)



那个啥,暂时没分再分给你们了,本来说好的给1000,,,不好意思,先欠着,以此为字据,划字签押

点评

什么分?说得我莫名其妙了  详情 回复 发表于 2015-9-8 19:42

回复

317

帖子

4

资源

一粒金砂(高级)

辛昕 发表于 2015-9-8 16:30
那个啥,暂时没分再分给你们了,本来说好的给1000,,,不好意思,先欠着,以此为字据,划字签押

什么分?说得我莫名其妙了

回复
您需要登录后才可以回帖 登录 | 注册

最新文章 更多>>
    关闭
    站长推荐上一条 1/6 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2021 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表