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

可供下载的文件列表如下图所示:

其中*.zip和*.bz2结尾的包分别为Windows和Linux平台下的源码包,PDF文件为该类库的说明手册,其中有专门的一节介绍如何编译和安装这个类库,相当详细。另外,*.qch是相应的帮助文件,我们可以利用Qt Creator的文档添加向导将其添加到Qt Creator的帮助文档目录中。

1 编译源码

  首先打开前面提到的PDF文件,转到第3章,可以找到关于安装的介绍,如下图所示。

这里介绍了相当详细的编译和配置说明,可以方便我们个性化配置安装环境,但这里我们一般情况下保持默认配置就行了。这里,我介绍Windows下的安装,Linux下类似,本人亲测,两个平台都没有问题。首先,我们解压刚才下载的qwt-6.1.2.zip压缩包。然后,通过cmd命令行进入到解压出来的文件夹根目录下:

cd qwt-6.1.
qmake qwt.pro

执行以上命令,会在当前目录下生成一个Makefile文件。注意,要想成功执行这条命令还必须配置好qmake的环境变量。接下来,我们需要编译源代码,我这里使用的是mingw编译:

mingw32-make

说明,如果使用的是多核CPU,也可以在make后面加上-j选项,这样可以加快编译过程。等编译完成后,就会生成相应的动态链接库文件和库文件。最后一步就是将这些必要的文件安装到指定的位置,执行下面的命令:

mingw32-make install

如果我们使用的默认参数设置,各个平台的安装位置如下:

• Windows
C:\Qwt-6.1.
• Unix like systems
/usr/local/qwt-6.1.

当然,你也可以指定安装到其他路径,请参看PDF手册。

2 Qt Creator添加Qwt扩展

  在Qwt安装完成后,Qt Creator并不能够自动检测到该类库,因此在后续开发中如果需要使用到这个类库,我们还是需要在工程的*.pro文件中指定该类库的位置。但是,我们可以事先让Qt Designer中支持Qwt部件。首先在C:\Qwt-6.1.2\plugins\designer目录下面找到一个插件dll文件,名称为qwt_designer_plugin.dll,然后将这个文件复制到C:\Qt\Qt5.4.1\Tools\QtCreator\bin\plugins\designer目录下,然后启动Qt Creator,然后随便打开一个带有ui文件的工程,我们就可以在部件箱的最后看到Qwt部件了。同时,再拷贝一份到C:\Qt\Qt5.4.1\5.4\mingw491_32\plugins\designer目录下,这样,我们就可以在Qt Designer中看到同样的内容,如下图所示。

  另外,我们还可以将刚才下载的帮助文档*.qch添加到Qt Creator当中。打开“工具 -> 选项”菜单,在帮助子选项中,选择添加,然后找到刚才下载到的帮助文件,就可以在帮助文件列表中看到关于Qwt的内容了。

这样,你可以在需要帮助的时候按下F1键,来查找相关的帮助信息。

Qwt的编译与配置的更多相关文章

  1. QWT编译与配置-Windows/Linux环境

    QWT编译与配置-Windows/Linux环境 QWT和FFTW两种开源组件是常用的工程软件支持组件,QWT可以提供丰富的绘图组件功能,FFTW是优秀数字波形分析软件.本文使用基于LGPL版权协议的 ...

  2. Dynamics AX 2012 R3 Demo 安装与配置 - 编译和配置 (Step 3)

        在前两节中,Reinhard主要讲解了如何配置安装环境,安装数据库服务器,AOS和客户端.至此安装工作已经结束,下面Reinhard开始讲解如何编译和配置.     运行客户端后,系统弹出初始 ...

  3. Visual Studio 2015编译安装配置QT5.5.1(含QTWEBKIT)

    尽管QT5.5.1和VisualStudio 2015都已经发布很久了,但是QT项目组视乎不会为QT5.5.1专门发布预编译的QT5.5.1 for windows(2015)版本的,也不会专门发布V ...

  4. linux内核编译环境配置

    linux内核编译环境配置 如果不是编译内核,只需要安装与内核相匹配的kernel-devel开发包即可.即是/lib/modules/`uname -r`/build -> /usr/src/ ...

  5. haproxy1.7编译安装配置

    #haproxy1.7编译安装配置#高可用.负载均衡 使用 #haproxy1.7编译安装配置 #centos7 x86_64 #高可用.负载均衡 使用 #下载 #http://www.haproxy ...

  6. ACE在windows下的编译及配置(VS2010)

    ACE在windows下的编译及配置(VS2010) 分类:             -[小西南]-              2013-08-06 16:17     2354人阅读     评论( ...

  7. azkaban编译安装配置文档

    azkaban编译安装配置文档 参考官方文档: http://azkaban.github.io/azkaban/docs/latest/ azkaban的配置文件说明:http://azkaban. ...

  8. 轻量级web服务器lighttpd的编译及配置(for x86-linux)

    转自:http://blog.163.com/ljf_gzhu/blog/static/131553440201211522317367/ 备注: PC Linux:Ubuntu-10.10 Linu ...

  9. Syslinux编译环境配置简要步骤

    由于毕业设计要做一个加密U盘的LINUX,需要修改一sysylinux引导程序,在网上很少有关于syslinux编译环境配置的文章,在此简要总结一下,发出来共享. 需要的软件: 1.  vmware ...

随机推荐

  1. 关于python文件操作 (转载)

    总是记不住API.昨晚写的时候用到了这些,但是没记住,于是就索性整理一下吧: python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Pyth ...

  2. SCOM2012端口需求

    Agent push requirements (including firewall ports): The account being used to push the agent must ha ...

  3. centos上安装jdk环境

    老沙采用的环境是centos 6.5 64位服务器.在linux上安装jdk环境都很多中方式,这里讲解下手工进行安装并进行环境变量配置. 首先需要下载一个64位版本的linux,可以去oracle官网 ...

  4. 画表格防OFFICE的功能

    http://files.cnblogs.com/xe2011/officetable.rar 画表格防OFFICE的功能

  5. MongoDB(四)——管理架构

    前面介绍MongoDB基础,在这里,我们推荐两个网站,我们可以看看,评论是相当具体:http://www.w3cschool.cc/mongodb/mongodb-tutorial.html.http ...

  6. iOS开发——面试笔试精华(三)

    面试笔试精华(三) 1.        When to use NSMutableArray and when to use NSArray? 什么时候使用NSMutableArray,什么时候使用N ...

  7. android130 android启动

    Android的编译环境只支持Linux和Mac OS,google推荐使用64位操作系统, ### android启动 > #### 当引导程序启动Linux内核后,会加载各种驱动和数据结构, ...

  8. careercup-C和C++ 13.10

    13.10 用C编写一个my2DALLoc函数,可分配二维数组.将malloc函数的调用次数降到最少,并确保可通过arr[i][j]访问该内存. 解法: 这道题目最简单的方法就是先开一个数组来存储指向 ...

  9. [001]const和指针

    很经典的: const int* p: int* const p: 前者表示指针指向的值是const,指向的值不可变,但是指针本身是可变的:后者表示改指针是const,指针不可变,但是指向的值是可变的 ...

  10. Hibernate初级

    文章来源: http://blog.csdn.net/jiuqiyuliang/article/details/39078749/ 持久化(Persistence),把数据(如内存中的对象)保存到可永 ...