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. Redis服务快速部署

    官方对Redis的阐述: Redisis an open source, BSD licensed, advanced key-value cache and store. It is often r ...

  2. PHP高效获取远程图片尺寸和大小(转)

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...

  3. 【C/C++多线程编程之六】pthread相互排斥量

    多线程编程之线程同步相互排斥量       Pthread是 POSIX threads 的简称,是POSIX的线程标准.          Pthread线程同步指多个线程协调地,有序地同步使用共享 ...

  4. External file changes sync may be slow: Project files cannot be watched (are they under network mount?)

    if some files are on a mounted disk: go to Settings | Notifications | File Watcher Messages and tune ...

  5. 101个直接可以拿来用的JavaScript实用功能代码片段(转)

    1.原生JavaScript实现字符串长度截取 function cutstr(str, len) { var temp; var icount = 0; var patrn = /[^x00-xff ...

  6. SQL 四种连接:内连接、左外连接、右外连接、全连接--转载

    原文:http://zwdsmileface.iteye.com/blog/2191730 个人理解 内连接(INNER JOIN)(典型的连接运算,使用像   =   或   <>   ...

  7. 数据库通用Jdbc操作

    public class JdbcUtil { /** * 关闭一个数据库链接 * @param conn */ public static void closeConnection(Connecti ...

  8. linux服务器上apache+php独立于mysql server单独部署

    1. mysql client 2. libmysqlclient-devel 3. PDO_MYSQL

  9. 解决linux联网问题的方法论

    解决linux联网问题的方法论 */--> 解决linux联网问题的方法论 Table of Contents 1. ip网络配置流程 1.1. 1.确认电脑能和路由器ping通 1.2. 2. ...

  10. 对setTimeout()第一个参数是字串的深入理解以及eval函数的理解

    <script language="javascript" type="text/javascript"> var a=1; setTimeout( ...