QWT编译、配置、使用

QWT编译、配置、使用(VS2012+Qt5.4.2,这里和VS QT版本都无关,亲自测过其他版本的VS和QT都没有问题,本文档以VS2012+Qt5.4.2为例编写)

(主要参考http://blog.sina.com.cn/s/blog_a6fb6cc90101gks5.html)

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

QWT源码获取:

进入QWT的官方网站http://qwt.sourceforge.net/,找到svn下载地址,如下图所示,选择需要的版本,这里选择qwt-6.1。

QWT编译、配置、使用_第1张图片

 

如果你的操作系统没有安装svn,请先安装svn,下载地址在这里:https://tortoisesvn.net/downloads.html

从SVN仓库获得QWT源码工程,如下图所示:

QWT编译、配置、使用_第2张图片

 

编译

a)   编译QWT库

打开vs开发人员命令行(如果从普通cmd进去可能找不到nmake),进入到刚刚svncheckout的目录,我这里是E:\Software\qwt-6.1,运行:

qmake qwt.pro;

nmake;

nmake install(默认将编译的库安装到C盘下,这一步也可以不做,后面选择直接将库拷贝到Qt相应的目录下)

QWT编译、配置、使用_第3张图片

 

 

 

b)   编译例子

进入到examples目录下,执行:

qmake example.pro;

nmake;

QWT编译、配置、使用_第4张图片

 

 

 

环境配置:

方法1:借助Qt的环境配置,将qwt-6.1\lib 下的qwt.lib 、qwtd.lib 拷贝QT的lib路径下;将qwt-6.1\lib下的qwt.bin、qwtd.lib下的qwt.dll、qwtd.dll拷贝到QT的bin路径下;将qwt-6.1\src下的所有.h文件拷贝到QT的include\QWT路径下。

方法2:在编译qwt工程时,使用nmakeinstall将库和头文件安装到C盘,并在环境变量里设置path环境变量。

进行如上两种方法之一的配置之后就可运行生成的demo程序了,比如运行qwt-6.1\examples\bin 目录下的tvplot.exe,画面如图:

QWT编译、配置、使用_第5张图片

 

 

 

另外将qwt-6.1\designer\plugins\designer的dll和lib文件拷贝到QT的plugins\disgner目录下,这样就可在QT设计师里使用QWT组件了,如下图所示:

QWT编译、配置、使用_第6张图片

 

 

 

 

在VS中使用QWT:

1.   新建一个QT界面程序

2.   工程设置

属性->配置属性->链接器->输入,附加依赖项:qwtd.lib

属性->配置属性->C/C++->预处理器,预处理器定义:QWT_DLL

     3.举一个使用QWT组件绘制2维矩阵数据等高线的例子

使用QwtPlotSpectrogram类绘制等高线,类图:

QWT编译、配置、使用_第7张图片

 

 

 

CIsodoseCurves是数据类,存储了一个3维矩阵数据,矩阵数据从文件获取;

Contor是主窗口类,主窗口界面如下图所示,当点击绘图时会绘制3维矩阵数据的一个2维平面的矩阵数据的等高线,并在窗口中显示,如下图。

QWT编译、配置、使用_第8张图片QWT编译、配置、使用_第9张图片

 

 

 

QwtPlotSpectrogramText继承自QwtPlotSpectrogram类,重新实现了drawContourLines函数,使在绘制登高显示在登高线附近能绘制登高线的值;

plot继承自QwtPlot,提供绘制登高线的窗口,每次点绘图按钮就会创建一个plot对象。https://github.com/scuwan/Contour

 

从画面效果可以看出QWT绘制的图形效果还是不错的。[email protected]

你可能感兴趣的:(QT)