qwt移植到OK6410

qwt移植到s3c6410

【qwt简介】

QWT,全称是Qt Widgets for Technical Applications,是一个基于LGPL版权协议的开源项目, 可生成各种统计图。它为具有技术专业背景的程序提供GUI组件和一组实用类,其目标是以基于2D方式的窗体部件来显示数据, 数据源以数值,数组或一组浮点数等方式提供, 输出方式可以是Curves(曲线),Slider(滚动条),Dials(圆盘),Compasses(仪表盘)等等。该工具库基于Qt开发,所以也继承了Qt的跨平台特性。

【QWT基类】

QwtAbstractScale: 包含刻度尺的所有类的抽象基类;

QwtAbstractScaleDraw:绘制刻度尺的抽象基类;

QwtAbstractSlider:滑块部件的抽象基类;

QwtAlphaColorMap:可以改变颜色的alpha值;

QwtAnalogClock:时钟的模拟类;

QwtArrayData:包含2个QwtArray<double>实例的数据类;

QwtArrowButton:箭头按钮;

QwtClipper:剪贴板类;

QwtColorMap:提供数值到颜色的映射功能;

QwtCompass:指南针部件;

QwtCompassMagnetNeedle:指南针部件的磁针;

QwtCompassRose:罗盘部件的抽象基类;

QwtCompassWindArrow:风向标的指示器;

clip_image002 clip_image004

                   1.柱状图                                            2.曲线图

clip_image006 clip_image008

                 3.CPU性能图                                             4.散点图

参考资料

QWT主页

http://qwt.sourceforge.net/

QWT基类

http://qwt.sourceforge.net/annotated.html

统计图截图

http://qwt.sourceforge.net/pages.html

扩展阅读:

QT主页:http://www.qtsoftware.com/title-cn?set_language=zh&cl=zh&247SEM

《Qwt 终于可以调试它的examples了》:http://www.cppblog.com/lai3d/archive/2007/12/23/39312.html

《基于Qt绘制科学图表》:http://www.cuteqt.com/blog/?p=493

【移植过程】

第一步:下载最新的qwt源码,主页是http://qwt.sourceforge.net/,我下载的是qwt-6.0.0.tar.bz2

第二步 :解压源码,进入源码目录,我们来看看里面的文件,主要是两个一个是README和INSTALL,其中前者是关于这个项目的一些介绍,后者是针对不同平台编译安装的方法,里面有这样一句:The easiest way to build Qwt is from the command line - but you insist on using an IDE don't forget the "make install" step.就是说如果你用IDE(例如Qt Creator)来编译的话,编译成功后不要忘了在终端进入源码目录执行$ make install命令进行安装。当然,如果你也可以一直在终端编译和安装不必借助IDE。

第三步:我们这里借助IDE编译,打开Qt Creator后打开qwt的工程,要编译ARM版本的,那么你就必须在Qt Creator中进行相关的设置,也就是添加一个工具链。

第四步:我们来进行编译,点击 Build ALL,编译的过程中会报错,是关于一些Designer的头文件找不到,因为qwt自定义了一些designer的插件,方便我们进行开发,所以需要一些Qt Designer的头文件,由于我有qt源码,所以这个还是比较好添加进去的,可是到最后又报错:说是不能连接到Designer库,我到我电脑上安装的qt目录下找了一下,发现X86版本的Qt的lib目录下是有这些库文件的,而在电脑上安装的ARM版本的Qt里面lib目录下并没有这些库文件,这就无奈了,刚好我要的就是ARM版本的阿。后来我仔细一想,源于Qt Designer的插件应该只是在电脑上用来做开发的,而不是在板子上运行的,也就是说这部分内容在板子上压根就不需要,所以,打开qwtconfig目录下的qwtconfig.pri配置文件,想屏蔽designer的编译。在qwtconfig.pri文件的第102行,有这条语句:

QWT_CONFIG += QwtDesigner

这里将这句语句前面加“#”注释掉,编译就通过了。如果要编译示例程序,默认不编译,要编译的话将:

# QWT_CONFIG += QwtExamples

前面的“#”去掉即可,编译完后在qwt-6.0.0/example目录下生成bin目录。

下面要在开发板上测试,需要将安装目录下的lib目录库文件拷贝到开发板文件系统Qt默认的路径下,我自己试过,拷贝到qt2.2.0下的lib目录下毫无作用,要拷贝到qt4.7.1的目录下。

如果是在Qt/E4.7.1下运行的话,可以参照开发板文件系统下/bin/qt4脚本文件,只需将后面的“cd /你编译好的程序的目录 ./你要运行的程序”;保存;修改文件属性(sudo chmod 755 你要运行的程序) ,在终端输入这个脚本便可运行你的程序或者示例程序。

到此,qwt就移植成功了!

PC上的qwt插件:

如果要在电脑上利用qwt来开发的话也必须有相应的库文件,所以我们要编译出一个qwt的X86版本,这个版本不必注释designer部分,直接编译就会通过,然后将生成的库文件拷到电脑上Qt库文件目录下,将生成的designer的插件拷贝到/usr/lib/i386-linux-gnu/qt4/plugins/designer目录下,同时创建链接:

#ln /你qwt安装目录/lib/libqwt.so.6 /usr/local/lib/libqwt.so.6

再执行

#sudo ldconfig

启动designer就可以看到qwt的插件了。关于qwt开发的资料很少,假如要开发自己的曲线参照自带里的例子就可以了。

参考来源:

1. 百度文库;

2. qwt移植到s3c6410 - chenlong12580的专栏 - 博客频道 - CSDN.NET.htm

原文地址:https://www.cnblogs.com/lixiaoming90/p/2415159.html