qwt是一个基于LGPL版权协议的开源项目, 可生成各种统计图。它为具有技术专业背景的程序提供GUI组件和一组实用类,其目标是以基于2D方式的窗体部件来显示数据, 数据源以数值,数组或一组浮点数等方式提供, 输出方式可以是Curves(曲线),Slider(滚动条),Dials(圆盘),Compasses(仪表盘)等等,目前已经应用到许多工业领域,同时qwt也致力于3d的开发。但许多时候,qwt的安装配置难到了许多人,我曾经也在这里原地踏步很久,为了给大家开发方便,把我的安装经验分享给大家,避免少走点弯路。

1.前言

qwt有多强大,可以看看官网的截图:

曲线类截图:http://qwt.sourceforge.net/curvescreenshots.html

散点图:http://qwt.sourceforge.net/scatterscreenshots.html

频谱及外形轮廓图:http://qwt.sourceforge.net/spectrogramscreenshots.html

工业控件类:http://qwt.sourceforge.net/controlscreenshots.html

其功能远不止展示的这些,还包括移动图线上的点修改图线,在画布上任意作图,另外,qwt控件最大的优点是它的灵活性,但这个灵活性也导致它偶尔会很麻烦

MFC

Qt

2.下载最新的qwt

如果你是使用qt5,那么需要最新版本的qwt控件,下载地址(已更新):http://sourceforge.net/projects/qwt/

windows下编程下载zip,ubuntu下载bz2的

还有个pdf说明文档,下不下都无所谓,因为安装包里面已经有文档了

下面说说安装的问题

3.安装

 
把下载的文件解压缩放到一个固定目录里
我在qt安装目录下面新建文件夹qtctrl,把所有第三方控件都放置在这里的
解压完的文件如下图所示
下面对它进行编译

3.1 编译控件

许多人在这里止步,在网上看到许多复杂的教程,又要写命令行又要设置啥啥啥的,其实很简单,直接双击qwt.pro这个文件,用qt Creator打开(建议用qt Creator打开)

点编译(先在debug下和release模式下编译都一样),就开始编译了,你可以去上个厕所,喝杯茶,上上网

编译完会有个错误提示

这个正常,不用理他,只要编译输出那里没有错误提示就行

好了,这就ok了,复杂的编译过程就是点几个鼠标而已

编译完后会在原来的lib文件夹下生成dll和lib,同时会在目录外生成qt creator用的插件dll

我们用到的是qwt.dll,qwt.lib,qwtd.dll,qwtd.lib。前者对应release版本,后者对应debug版本,其他文件可以删除

在build-qwt-Desktop_Qt_5_1_1_MSVC201x_32bit-Release目录下的designer目录下的plugins目录下的designer目录下(@_@,囧rz)你会发现qwt_designer_plugin.dll和qwt_designer_plugin.lib

这些就是配置qwt的必要文件

3.2配置qwt

3.2.1 集成进Qt Designer

找到qt安装目录
 
目录下的tools文件夹是qt creator的安装位置,里面就是QtCreator,找到QtCreator\bin\plugins\designer\文件夹下,把编译好的qwt_designer_plugin.dll放入。打开qtcreator,就能看的qwt控件了。
拖放几个控件试着运行,这时软件肯定是编译不过的
 
由于头文件dllqt creator都没有找到,所以肯定是编译不过的,现在又两种方法
 

3.2.2 集成Qt Creator

方法1:(建议使用)

需要用到qwt的项目,打开它的pro文件
加入如下语句:
其中根据每个人的文件位置不一样,只需要改动第一个语句就可以,就是定位到qwt的安装位置的语句
 
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
 
#qwt设置
QWT_ROOT = d:/Qt/qtctrl/qwt-6.1.0#这里就是你qwt控件的位置,根据每个人计算机的不同来修改,别直接ctrl+c,ctrl+v
include( $${QWT_ROOT}/qwtfunctions.pri )
INCLUDEPATH += $${QWT_ROOT}/src
DEPENDPATH  += $${QWT_ROOT}/src
 
%QWT_CONFIG  += QwtDll %如果需要使用继承时需要这句 -- 下面依次类推

contains(QWT_CONFIG, QwtFramework) {
    LIBS      += -F$${QWT_ROOT}/lib
}
else {

LIBS      += -L$${QWT_ROOT}/lib
}
qwtAddLibrary(qwt)
contains(QWT_CONFIG, QwtOpenGL ) {

QT += opengl
}
else {

DEFINES += QWT_NO_OPENGL
}
contains(QWT_CONFIG, QwtSvg) {

QT += svg
}
else {

DEFINES += QWT_NO_SVG
}
win32 {
    contains(QWT_CONFIG, QwtDll) {
        DEFINES    += QT_DLL QWT_DLL
    }
}
#end qwt set

 
然后可以成功编译应用程序了

方法2:(非常不建议)

把lib文件放置qt sdk的lib文件夹下,dll文件放置在sdk的bin文件夹下
qt sdk目录根据版本不同不一样,我的是vs2012版的,在c:\Qt\Qt5.1.1\5.1.1\msvc2012\目录下其他的同理,2010的就在Qt\Qt5.1.1\5.1.1\msvc2010\
把qwt.dll和qwtd.dll复制到qt安装目录下的bin文件夹中
把qwt.lib和qwtd.lib文件复制到qt安装目录的lib文件夹下
 
把src文件夹下的头文件复制到qt安装文件夹下的include文件夹下(新建qwt文件夹)
 
这样就可以了,但是还是不能编译成功,因为需要设置一下pro文件
在pro文件下加入如下语句
 
1
2
3
4
5
6
7
8
9
 
#qwt设置
include(d:/Qt/qwt-6.1.0/qwtfunctions.pri)
DEFINES *= QWT_DLL
CONFIG += qwt
LIBS += -Ld:/Qt/Qt5.0.2/5.0.2/msvc2010/lib-lqwt
INCLUDEPATH += d:/Qt/qwt-6.1.0/src
DEPENDPATH += d:/Qt/qwt-6.1.0/src
qwtAddLibrary(qwt)
#end qwt
至此qwt的安装配置就完成了。
 
qwt文件夹下有说明文档和例子,通过他们都能掌握基本的操作,这里暂不细说了
 

注:

当你用qt creator编译发现连接出问题时,你可以试下点“构建”-“清理所以项目”,当这个也没有反应时,你可以手动把编译的那个文件夹(默认和项目同级类似于“build-qwt-Desktop_Qt_5_1_1_MSVC201x_32bit-Release”这样的样式)全部删除。之后再编译,如果还有连接问题就是你代码有问题了。

paper 139:qt超强绘图控件qwt - 安装及配置的更多相关文章

  1. qt超强绘图控件qwt - 安装及配置

    qwt是一个基于LGPL版权协议的开源项目, 可生成各种统计图.它为具有技术专业背景的程序提供GUI组件和一组实用类,其目标是以基于2D方式的窗体部件来显示数据, 数据源以数值,数组或一组浮点数等方式 ...

  2. Qt绘图控件qwt绘制等比例坐标图

    需要用到QwtPlotRescaler类,用法如下: QwtPlotRescaler *plotRescaler = new QwtPlotRescaler(canvas, yLeft, QwtPlo ...

  3. qt超强精美绘图控件 - QCustomPlot一览 及 安装使用教程

    1.概述 QCustomPlot 是一个超强超小巧的qt绘图类,非常漂亮,非常易用,只需要加入一个qcustomplot.h和qcustomplot.cpp文件即可使用,远比qwt方便和漂亮,可以自己 ...

  4. Qt实现表格控件-支持多级列表头、多级行表头、单元格合并、字体设置等

    目录 一.概述 二.效果展示 三.定制表头 1.重写数据源 2.重写QHeaderView 四.设置属性 五.相关文章 原文链接:Qt实现表格控件-支持多级列表头.多级行表头.单元格合并.字体设置等 ...

  5. PaintView 绘图控件解析

    博客地址:博客园,版权所有,转载须联系作者. GitHub地址:JustWeTools 最近做了个绘图的控件,实现了一些有趣的功能. 先上效果图: PaintView画图工具: 1.可直接使用设定按钮 ...

  6. 怎样在VS2013/MFC中使用TeeChart绘图控件

    TeeChart作为一款强大好用的绘图控件,通过它可以绘制出各式各样的图表,包括2D的,还有3D的,绘制的图表美观实用,这里主要讲述如何在VS2013/MFC中使用TeeChart控件,顺便说一下在V ...

  7. CAD控件:QT开发使用控件入门

    1. 环境搭建: 3 1.1. 安装Qt 3 1.2. 安装Microsoft Windows SDK的调试包 6 2. QT中使用MxDraw控件 7 1.3. 引入控件 7 3. 打开DWG文件 ...

  8. TeeChart绘图控件 - 之三 - 提高绘图的效率 .

    TeeChart是个很强大的控件,其绘图能力之强,其他控件难以比拟,但是有个问题就是他的绘图速度,其实TeeChart绘图速度还是很快的,只是大家一直都没正确运用其功能所以导致绘图速度慢的假象. 下面 ...

  9. VS2010 使用TeeChart绘图控件 - 之二 - 绘制图形(折线图,柱状图)

    1.前期准备 具体可见VS2010 使用TeeChart绘图控件 - 之一 控件和类的导入 1. 1 添加TeeChart控件,给控件添加变量m_TeeChart 添加TeeChart控件,右击控件, ...

随机推荐

  1. JavaScript中操作节点

    1.获取节点 1.1.用 getElement 方法获取 获取元素节点时,必须等到DOM树加载完成后才能获取.两种处理方式:(1)将JS写在文档最后:(2)将代码写入window.onload函数中: ...

  2. c#一些操作

    C# FileStream 按大小分段读取文本内容 using System.IO; namespace FileStreamRead { class Program { static void Ma ...

  3. python中的装饰器基本理论

    装饰器 : 本质上 是一个 函数 原则 : 1,不修改原函数的源代码 2,不修改原函数的调用方式. 装饰器的知识储备 装饰器 = 高阶函数 + 函数嵌套 +闭包 我的理解是,函数名也是一个变量,将函数 ...

  4. (转)Navicat连接MySQL8.0亲测有效

    转:https://www.cnblogs.com/shiysin/p/shiysin.html 今天下了个 MySQL8.0,发现Navicat连接不上,总是报错1251: 原因是MySQL8.0版 ...

  5. 转载:Linux下启动和关闭Weblogic(管理服务器+被管服务器)

    转载自:http://www.cnblogs.com/nick-huang/p/3834134.html  感谢! Weblogic的管理服务器和被管服务器的启动.关闭,偶尔会用到,却又不常用,导致需 ...

  6. iOS OpenGL ES简单绘制纹理

    OpenGL 中任何复杂的图形都是由点,线 和三角形组成的. 那么一个矩形 就需要有两个三角形组成. 纹理, 可以理解为一张图片, 我么可以将整张or部分图片绘制到圆形, 矩形等目标图形中. 下图表示 ...

  7. js另存为、打印、属性、加入收藏、关闭等代码

    js打开代码 <input name=Button onClick=document.all.WebBrowser.ExecWB(1,1) type=button value=打开> &l ...

  8. VB - 循环

    循环控制语句有for……next循环.for……each循环.do……while循环.do……until循环.while循环五种形式. 1. 在使用循环控制语句前,首先要对循环条件进行判断,如果循环次 ...

  9. Cocos2d Box2D之动态刚体

    |   版权声明:本文为博主原创文章,未经博主允许不得转载. b2_dynamicBody 动态物体可以进行全模拟.用户可以用手手动移动动态刚体,也可以由动态刚体自己受力而自运动.动态物体可以和任何物 ...

  10. UVALive 4728 Squares(旋转卡壳)

    Squares The famous Korean IT company  plans to make a digital map of the Earth with help of wireless ...