社区导航

 

搜索
查看: 6685|回复: 14

[讨论] 利用QT5绘图

[复制链接]

319

TA的帖子

4

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

发表于 2015-8-7 21:46 | 显示全部楼层 |阅读模式
现有个目的:用QT应用程序调用ADC驱动函数,得到了采样值,需要显示在屏幕上面。一种是利用LCD控件直接实时显示数字,这一点已经做好了;还有一种是将得到的结果绘制在一个坐标系中,得到ADC的采样曲线图。

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

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

可是有几个问题:

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

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

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

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

ADC_Griph.zip

4.68 KB, 下载次数: 16

ADC绘图代码


回复

使用道具 举报

319

TA的帖子

4

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

 楼主| 发表于 2015-8-7 21:53 | 显示全部楼层
一不小心忘了问(其实是因为打字太多,搞忘记的):有没有什么更好的办法来做类似的这种绘图,效率高或者节省空间

回复

使用道具 举报

1194

TA的帖子

3

TA的资源

五彩晶圆(初级)

Rank: 7Rank: 7Rank: 7

荣誉会员勋章

发表于 2015-8-8 09:03 | 显示全部楼层
干嘛自己画,累死,有很多控件的,网上找找一堆堆~

点评

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

回复

使用道具 举报

319

TA的帖子

4

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

 楼主| 发表于 2015-8-8 15:47 | 显示全部楼层
zqjqq88 发表于 2015-8-8 09:03
干嘛自己画,累死,有很多控件的,网上找找一堆堆~

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

回复

使用道具 举报

87

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2015-8-11 16:10 | 显示全部楼层
非常感谢楼主,最近正在学相关方面的知识,遇到一些问题,正好楼主在这里做了详细的分析和说明,给我们提供了一些解决问题的思路和方法,我要向楼主学习,楼主真棒~~

点评

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

回复

使用道具 举报

319

TA的帖子

4

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

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

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

回复

使用道具 举报

1022

TA的帖子

0

TA的资源

纯净的硅(初级)

Rank: 4

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

点评

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

回复

使用道具 举报

1049

TA的帖子

0

TA的资源

纯净的硅(高级)

Rank: 6Rank: 6

发表于 2015-8-25 20:40 | 显示全部楼层
本帖最后由 石玉 于 2015-8-25 20:44 编辑

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

点评

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

回复

使用道具 举报

1049

TA的帖子

0

TA的资源

纯净的硅(高级)

Rank: 6Rank: 6

发表于 2015-8-26 10:28 | 显示全部楼层

回复

使用道具 举报

319

TA的帖子

4

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

 楼主| 发表于 2015-9-7 21:59 | 显示全部楼层
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

回复

使用道具 举报

319

TA的帖子

4

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

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

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

点评

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

回复

使用道具 举报

1049

TA的帖子

0

TA的资源

纯净的硅(高级)

Rank: 6Rank: 6

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

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

点评

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

回复

使用道具 举报

1022

TA的帖子

0

TA的资源

纯净的硅(初级)

Rank: 4

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

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

回复

使用道具 举报

7913

TA的帖子

54

TA的资源

裸片初长成(中级)

Rank: 11Rank: 11Rank: 11Rank: 11

荣誉会员勋章

发表于 2015-9-8 16:30 来自手机 | 显示全部楼层


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

点评

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

回复

使用道具 举报

319

TA的帖子

4

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

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

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

回复

使用道具 举报

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

关闭

站长推荐上一条 1/4 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-6-7 04:18 , Processed in 0.435890 second(s), 37 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表