QWT6.14的编译、配置、使用(Qt Creator5.14.2)


前言

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

本文所用的资源文件都在这里:有积分的可以下载下,没有积分需要的话,也可以私信我,我传给你

https://download.csdn.net/download/qq_21449473/20063069?spm=1001.2014.3001.5503


提示:以下是一些QWT可以实现的图形
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

一、下载安装

1. 下载

QWT官方网址: http://qwt.sourceforge.net/

稳定版下载地址: http://sourceforge.net/projects/qwt/files/qwt/

下载的版本是qwt-6.X.X,将其源码解压,解压的文件为: qwt-6.X.X.zip,这个文件是window版本的源码,qwt-6.X.X.tar.bz2是linux等其他系统的版本。
在这里插入图片描述

这里下载有点慢需要耐心等待。

选择.zip文件下载,解压
在这里插入图片描述

  • designer文件夹: qwt插件的源码,用于生成Qt Designer插件,插件可以在Qt Designer中直接拖拽使用
  • doc文件夹:帮助文档
  • examples文件夹: qwt的示例(源码、可执行程序), 这些工程的生成需要src或designer目录下工程生成的qwt.lib/qwt.dll
  • src文件夹: qwt的源码
  • textengines目录:存放数学指标语言的文本驱动引擎代码
  • pro等工程文件等。

2.编译

1:在Qt Creator打开qwt.pro,点击构建项目,默认Debug和Release库都会编译。可在qwtbuild.pri中修改设置。
打开编译开关,在qwt->其他文件->qwt.prf中,下图的注释去掉:
在这里插入图片描述
然后正常编译项目,编译该项目的Release版本。

重要!!使用MSVC来编译,不然使用MinGW编译,无法编译成功。
以下是使用MSVC编译的,可以看到其中保健的库文件很全面
在这里插入图片描述
以下是使用MinGW编译的,可以看到少了很多库文件,这个我也不知道原因。
在这里插入图片描述

有人是这么说的,所以我建议还是直接用MSV编译QWT
由于官方Qt Creator是用MSVC编译的,以只能识别由MSVC编译的Qwt。如果要使用MinGW编译的Qwt,需要用MinGW重新编译Qt Creator。

使用Qt Creator打开qwt.pro,进行编译(qmake->build),编译完后会在lib文件夹下生成qwt.dll和qwt.lib(release版), 以及qwtd.dll和qwtd.lib(debug版)。

使用Qt Creator打开qwt.pro,进行编译(qmake->build),编译完后会在lib文件夹下生成qwt.dll和qwt.lib(release版), 以及qwtd.dll和qwtd.lib(debug版)。

在这里插入图片描述

同时会生成qt creator使用的插件qwt_designer_plugin.dll和qwt_designer_plugin.lib。

在这里插入图片描述

二、配置与使用

1.配置

配置
(1) 本例【QT安装目录】为D:\WorkSoft\QT\5.14.2\msvc2017_64

(2) 将qwtd.dll、qwt.dll拷贝到【QT安装目录】\bin下,将qwtd.lib、qwt.lib拷贝到【QT安装目录】\lib下。

(3) 将qwt_designer_plugin.dll和qwt_designer_plugin.lib拷贝到【QT安装目录】\plugins\designer目录下。

(4) 将解压得到的qwt-6.1.6\src文件夹拷贝到【QT安装目录】\include目录下,改名为 QtQWT。

在这里插入图片描述

这个时候可以看到QWT的工具已经有了
在这里插入图片描述

到这里,就基本配置完成了。

在Creator中新建带GUI的Qt项目,使用qwt插件和基类完成图表类设计。

Qwt的基类有以下几个:

  • QwtAbstractScale: 包含刻度尺的所有类的抽象基类
  • QwtAbstractScaleDraw:绘制刻度尺的抽象基类
  • QwtAbstractSlider:滑块部件的抽象基类
  • QwtAnalogClock:时钟的模拟类
  • QwtArrayData:包含2个QwtArray实例的数据类
  • QwtArrowButton:箭头按钮
  • QwtClipper:剪贴板类
  • QwtColorMap:提供数值到颜色的映射功能
  • QwtCompass:指南针部件
  • QwtCompassMagnetNeedle:指南针部件的磁针
  • QwtCompassRose:罗盘部件的抽象基类
  • QwtCompassWindArrow:风向标的指示器

使用

在想使用的项目中需要在pro中进行配置:
我为了项目移植到其他电脑方便大家一起开发,将上面的QWT文件以及qwtd.dll、qwt.dll都放在了自己的项目中
在这里插入图片描述
在这里插入图片描述

如下:
之后在自己的项目中添加现有文件,将QWT中所有文件导入
在这里插入图片描述

在这里插入图片描述
再之后添加库
在这里插入图片描述

选择外部库
在这里插入图片描述
在这里插入图片描述

最后在pro文件生成如下代码

SUBDIRS += \
    resource/QWT_Resource/QWT/src.pro

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/resource/QWT_Resource/ -lqwt
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/resource/QWT_Resource/ -lqwtd

INCLUDEPATH += $$PWD/resource/QWT_Resource
DEPENDPATH += $$PWD/resource/QWT_Resource

2.编译遇到问题

遇到以下错误:

error: C1083: 无法打开包括文件: “qgl.h”: No such file or directory

这个意思就是缺少opengl模块
在pro文件头中添加以下代码即可

QT       += opengl

遇到以下错误:

error: C1083: 无法打开包括文件: “qprinter.h”: No such file or directory	

这里是缺少printsupport,添加即可

QT       += printsupport

svg concurrent opengl

error: 'qtconcurrentrun.h' file not found

这个就是QT4到QT5迁移时候遇到的问题
如果你想使用并行模块在其他5 Qt的东西,你应该#include 。您还应该添加Qt += concurrent到您的项目文件,然后重新运行qmake的。
还有找不到qgl.h
代码如下(示例):

添加如下到模块到pro文件中

QT    +=  svg concurrent opengl

最后编译运行可以看到模块可以使用了。

整体加入以下几个模块即可:

QT       += opengl printsupport svg concurrent

在这里插入图片描述


参考文章:

QWT编译、配置、使用(VS2010 + Qt5.1.0)
QWT编译、配置、使用(Qt Creator)
在Qt中使用Qwt
QWT编译、配置、使用(Qt Creator)
Qt开发笔记之Qwt(一):Qwt介绍、编译与Demo

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值