文档章节

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

尘中远
 尘中远
发布于 2016/05/12 23:53
字数 1523
阅读 87
收藏 0


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控件最大的优点是它的灵活性,但这个灵活性也导致它偶尔会很麻烦

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”这样的样式)全部删除。之后再编译,如果还有连接问题就是你代码有问题了。

书籍推广:

© 著作权归作者所有

共有 人打赏支持
尘中远
粉丝 1
博文 26
码字总数 47436
作品 0
朝阳
程序员
私信 提问
Ubuntu 安装 Qt 开发环境 简单实现

Ubuntu 安装 Qt 开发环境 简单实现是本文要介绍的内容,内容很短,取其精华,详细介绍Qt 类库的说明,先来看内容。 一、Ubuntu下安装Qt $ sudo apt-get install qt4-dev-tools qt4-doc qt4-q...

mickelfeng
2012/12/21
0
0
Ubuntu 安装 Qt 开发环境

一、Ubuntu下安装Qt $ sudo apt-get install qt4-dev-tools qt4-doc qt4-qtconfig qt4-demos qt4-designer 注:qt4-dev-tools 包含了Qt Assistant及Qt Linguist等工具,因此不需要单独安装这......

鉴客
2010/08/10
2.2K
2
win上傻瓜化安装Qt开发环境

win上傻瓜化安装Qt开发环境 古老的MSYS搭建的开发环境不仅存在一些兼容性问题,而且还很繁琐,幸好mingw-build项目的开发者又做了更进一步的改进,他们开发了MSYS2项目。这个项目不仅兼容性更...

panda1986_meng
2014/02/27
0
0
qt creator2.4/2.5安装qwt插件

请问各位大侠如何在qt creator 2.4/2.5里面安装qwt6.0以上呢? 网上qwt的安装都是creator之前的版本的,2.4/2.5里面的目录结构全变了,不知道怎么安装插件了...

开源谢
2012/07/10
923
1
在Qt下如何使用OpenGL进行绘图?ps:不用Qt提供的OpenGL类

如何在Qt下使用独立的OpenGL库在Qt控件上进行绘图?求指导

JRui520
2017/08/06
389
1

没有更多内容

加载失败,请刷新页面

加载更多

深度学习为图片人物换装【python代码教程】

在观看本文之前,请答应我要善良。昨天预告了下,发现很多同学对这个模型都表示出兴趣,甚至有好多同学后台发来照片让我帮他们脱裤子。授人以鱼不如授人以渔,请这些同学好自为之~ 01效果演示...

阿里云官方博客
28分钟前
3
0
centos7安装RabbitMQ详细过程

由于RabbitMQ是基于Erlang语言开发,所以在安装RabbitMQ之前,需要先安装Erlang 1、环境: centos 7.1 内核版本3.10.0-229.el7.x86_64 Erlang 19.0.4版本 RabbitMQ 3.6.14版本 2、在线安装E...

秋至丶枫以落
59分钟前
1
0
6个使用KeePassX保护密码的技巧

虽然安全是个深奥的主题,但是你可以遵循几个简单的日常习惯来减小攻击面。本文将解释确保密码信息安全的重要性,并给出如何充分利用KeePassX的建议。 日益互联的数字世界使安全成为一个重要...

Linux就该这么学
今天
1
0
UnsatisfiedLinkError sawindbg.dll

方法:搜索sawindbg.dll,然后将文件报错的目录下

洛水
今天
5
0
说说不知道的Golang中参数传递

本文由云+社区发表 导言 几乎每一个C++开发人员,都被面试过有关于函数参数是值传递还是引用传递的问题,其实不止于C++,任何一个语言中,我们都需要关心函数在参数传递时的行为。在golang中...

腾讯云加社区
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部