1  Qwt

Qwt 全称为 Qt Widgets for Technical Applications,用于专业技术领域的可视化显示,如下所示:

左图为二阶系统的频率响应;中图为德国小城 Friedberg 2007年的温度统计; 右图为2012年4月,Linux 各个发行版,Debian, Mint, Ubuntu等,每天的平均点击次数

     

另外,还有一些不常用的,比如:左边的强度图(不同的颜色代表强度的不同); 中间的各种仪表盘(指南针,速度计等); 右边组合成的示波器等

        

下面介绍在 Windows 系统下,下载、编译、安装 Qwt 到 Qt 的过程。

1.1  下载

qwt 的官方网站为: https://qwt.sourceforge.io/index.html

qwt-6.1.4 版本下载地址: https://sourceforge.net/projects/qwt/files/qwt/ ,解压到  D:\Qt\qwt-6.1.4,更改 qwtconfig.pri 中的 #27

win32 {
QWT_INSTALL_PREFIX = D:/Qt/Qwt-$$QWT_VERSION
# QWT_INSTALL_PREFIX = C:/Qwt-$$QWT_VERSION-qt-$$QT_VERSION
}

注释掉 qwtbuild.pri 中的 #30

    #CONFIG        += debug_and_release
CONFIG += build_all

1.2  编译

1.2.1  qmake

打开 Qt 5.12.4 64-bit for Desktop (MSVC 2015),切换到 qwt 解压后的目录,输入 qmake  qwt.pro  进行编译,生成 Makefile 文件。

注意: 如果没有 qmake 命令,一般是环境变量没有配置,需要配置 qmake.exe 的所在路径,此处为 D:\Qt\Qt5.12.4\5.12.4\msvc2015_64\bin

在执行该步骤时,提示 Project ERROR

于是搜索到 cl 命令,发现其位于 D:\Program Files\Microsoft Visual Studio 14.0\VC\bin,则将该路径也配置到环境变量 path 中

1.2.2  nmake

打开 VS2015 x64 本机工具命令提示符,切换到 qwt 生成 Makefile 文件的目录,先输入 nmake,再输入 nmake install

1.2.3  examples

在 qwt 目录下,切换到 examples 目录, 先执行  qmake examples.pro,再执行 nmake

2  Qwtpolar

Qwtpolar 是 Qwt 的扩展,主要用来绘制极坐标下的函数图形,如下所示:

qwtpolar 官方网站为:https://qwtpolar.sourceforge.io/index.html

qwtpolar-1.1.1 下载地址: https://sourceforge.net/projects/qwtpolar/

和 qwt 的安装步骤一致,解压后,首先修改 qwtpolarconfig.pri 和 qwtpolarbuild.pri 文件;再执行 qmake qwtpolar.pro;完毕后再依次执行 nmake,nmake install

3  配置

3.1  额外配置工程

在每个 .pro 中,指定库文件(.lib) 和 头文件 (.h)

LIBS += -L$$PWD/../../Qt/qwt-6.1./lib/ -lqwtd
LIBS += -L$$PWD/../../Qt/qwtpolar-1.1./lib/ -lqwtpolard INCLUDEPATH += $$PWD/../../Qt/qwt-6.1./src
INCLUDEPATH += $$PWD/../../Qt/qwtpolar-1.1./src

3.2  模块配置

3.2.1  环境变量

    增加环境变量,变量值为 qwt.prf 所在的目录,如下所示:

3.2.2  库文件

将 D:\Qt\qwt-6.1.4\lib 下的 qwt.lib 和 qwtd.lib 复制到 D:\Qt\Qt5.12.4\5.12.4\msvc2015_64\lib 目录下

将 D:\Qt\qwt-6.1.4\lib 下的 qwt.dll 和 qwtd.dll 复制到 D:\Qt\Qt5.12.4\5.12.4\msvc2015_64\bin 目录下

将 D:\Qt\qwt-6.1.4\designer\plugins\designer 下的 qwt_designer_plugin.dll 复制到 D:\Qt\Qt5.12.4\5.12.4\msvc2015_64\plugins\designer 目录下

同理,将 qwtpolar-1.1.1 下的 文件复制到相同目录

3.2.3  头文件

在 D:\Qt\Qt5.12.4\5.12.4\msvc2015_64\include 目录下,新建 Qwt 文件夹,将 qwt 和 qwtpolar 下的头文件全部复制到此处

3.2.4  工程配置

以上步骤都执行完毕后,则当使用 qwt 和 qwtpolar 时,只需要添加对应的模块名称即可

CONFIG += qwt
CONFIG += qwtpolar

4  后续问题

  按照以上步骤,在 Qt 5.12.4 的 Creator 中未显示 Qwt Widgets 和 QwtPolarPlot 的 ui 设计界面,而在 Qt 5.12.4 中,单独打开  Designer,却可以显示二者,不知道是什么原因...

参考资料

“Windows 环境下 Qwt 安装和使用”, http://www.jianshu.com/p/d6fb96c3e6b0

Qwt 安装笔记, http://blog.csdn.net/liyuanbhu/article/details/40825065

Qt 之 qwt 和 qwtpolar的更多相关文章

  1. Qt 之 qwt 和 qwtpolar 的编译配置

    1  Qwt Qwt 全称为 Qt Widgets for Technical Applications,用于专业技术领域的可视化显示,如下所示: 左图为二阶系统的频率响应:中图为德国小城 Fried ...

  2. Qt之Qwt学习之安装

    QWT+qtcreator 编译.安装使用 目录:一.Qwt简介 二.QWT编译 一.Qwt简介 QWT:Qt Widgets for Technical Applications,是开源的2D绘图库 ...

  3. Qt Sqlite qwt 发布过程中碰到的问题runtime error

    qt版本:4.8.0 qwt版本:6.1.2 使用dll show检测缺少的dll,或者笨一点的方法,点击运行差什么找什么放进去: 左上显示exe调用哪些dll,右边是dll又再次调用啦哪些dll: ...

  4. qt使用QWT注意事项

    当继承某个QWT类时,有是使用O_OBJECT弘会出现问题 切记在工程文件里别忘了添加这一句 DEFINES+=QWT_DLL

  5. Qt编译安装qwt错误moc/xxx Error:126

    最近搞设计,需要在上位机上绘制曲线,在网上找了找,发现python的matplotlib和Qt的qwt都不错,本着难度最小原则,选择了Qt下面的qwt,安装过程中遇到了编译错误:moc/xxx Err ...

  6. WIN7 下 Qt Creator 安装 QWT

    WIN7 下 Qt Creator 安装 QWT 环境:WIN7 +QT Creator2.6.2 1.下载QWT源代码 qwt-6.1-rc3.zip 2 编译QWT  open projects- ...

  7. windows 7下qtcreator里QWT文件的pro配置

    http://blog.chinaunix.net/uid-20717410-id-272331.html 把编译好的qwt的include文件夹下面 所有的.h文件 复制到qt目录下 然后在pro里 ...

  8. 【原创】基于ZYNQ7000的交叉编译工具链Qt+OpenCV+ffmpeg等库支持总结(二)

    承接上文http://www.cnblogs.com/bombe1013/p/3294301.html,我们接下来说说Qt的移植与安装. 很喜欢Qt这个库以及Qt creater这个IDE,其实个人觉 ...

  9. qt 5.1.1 on CentOS 6.4

    Overview If you are trying to install Qt and Qwt [qwt.sourceforge.net] (Qt Widgets for Technical App ...

随机推荐

  1. hdu 2209 bfs+状压

    http://acm.hdu.edu.cn/showproblem.php?pid=2209 不知为啥有种直觉.会出状压+搜索的题,刷几道先 简单的BFS.状压表示牌的状态, //#pragma co ...

  2. Ajax 学习总结

    Ajax 技术在 JavaWeb 应用中随处可见,比如购物车中根据商品数量及时更新等应用,那么我们今天就来说说 Ajax 的一些小应用! Ajax 技术也就是允许浏览器与服务器通信而无需刷新当前页面, ...

  3. 自学Python5.2-类、模块、包

    类.模块.包  一.类 类的概念在许多语言中出现,很容易理解.它将数据和操作进行封装,以便将来的复用. 二.模块module 通常模块为一个文件,直接使用import来导入就好了.可以作为module ...

  4. mysql还原数据库时,提示ERROR 1046 (3D000) No database selected 的解决方法

    使用mysql数据库的朋友, 经常会使用mysqldump备案数据库, 然后到新服务器还原, 这个过程中, 有朋友会遇到ERROR 1046 (3D000)  No database selected ...

  5. springboot整合系列

    Spring Boot 系列 博客原文:http://blog.csdn.net/isea533/article/details/50412212 Spring Boot 入门 Spring Boot ...

  6. go基础之--函数和map

    在整理函数之前先整理一下关于指针 指针 普通类型变量存的就是值,也叫值类型.指针类型存的是地址,即指针的值是一个变量的地址.一个指针指示值所保存的位置,不是所有的值都有地址,但是所有的变量都有.使用指 ...

  7. 《程序员修炼之道:从小工到专家》【PDF】下载

    <程序员修炼之道:从小工到专家>[PDF]下载链接: https://u253469.ctfile.com/fs/253469-231196340 内容简介 <程序员修炼之道> ...

  8. js登录滑动验证,不滑动无法登陆

    js的判断这里是根据滑块的位置进行判断,应该是用一个flag判断 <%@ page language="java" contentType="text/html; ...

  9. iOS NSString 文本不同的颜色 标题+文本字体大小 行间距/删除不需要的字符 /以及自适应高度

    #import <Foundation/Foundation.h> @interface TextsForRow : NSObject @property(nonatomic,copy)N ...

  10. python学习日记:day11-----装饰器

    1,time模块 import time print(time.sleep())#让程序在执行到这个位置到时候停一会 print('哈哈哈') 获取当前时间 import time time.time ...