Qt 之 qwt 和 qwtpolar
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的更多相关文章
- Qt 之 qwt 和 qwtpolar 的编译配置
1 Qwt Qwt 全称为 Qt Widgets for Technical Applications,用于专业技术领域的可视化显示,如下所示: 左图为二阶系统的频率响应:中图为德国小城 Fried ...
- Qt之Qwt学习之安装
QWT+qtcreator 编译.安装使用 目录:一.Qwt简介 二.QWT编译 一.Qwt简介 QWT:Qt Widgets for Technical Applications,是开源的2D绘图库 ...
- Qt Sqlite qwt 发布过程中碰到的问题runtime error
qt版本:4.8.0 qwt版本:6.1.2 使用dll show检测缺少的dll,或者笨一点的方法,点击运行差什么找什么放进去: 左上显示exe调用哪些dll,右边是dll又再次调用啦哪些dll: ...
- qt使用QWT注意事项
当继承某个QWT类时,有是使用O_OBJECT弘会出现问题 切记在工程文件里别忘了添加这一句 DEFINES+=QWT_DLL
- Qt编译安装qwt错误moc/xxx Error:126
最近搞设计,需要在上位机上绘制曲线,在网上找了找,发现python的matplotlib和Qt的qwt都不错,本着难度最小原则,选择了Qt下面的qwt,安装过程中遇到了编译错误:moc/xxx Err ...
- WIN7 下 Qt Creator 安装 QWT
WIN7 下 Qt Creator 安装 QWT 环境:WIN7 +QT Creator2.6.2 1.下载QWT源代码 qwt-6.1-rc3.zip 2 编译QWT open projects- ...
- windows 7下qtcreator里QWT文件的pro配置
http://blog.chinaunix.net/uid-20717410-id-272331.html 把编译好的qwt的include文件夹下面 所有的.h文件 复制到qt目录下 然后在pro里 ...
- 【原创】基于ZYNQ7000的交叉编译工具链Qt+OpenCV+ffmpeg等库支持总结(二)
承接上文http://www.cnblogs.com/bombe1013/p/3294301.html,我们接下来说说Qt的移植与安装. 很喜欢Qt这个库以及Qt creater这个IDE,其实个人觉 ...
- 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 ...
随机推荐
- css中设置div水平居中,margin:0px auto无用的情况
在CSS中加了margin:0px auto;却没有效果,不能实现居中的问题!margin:0px auto;意思就是:上下边界为0.左右依据宽度自适应!就是水平居中的意思.无效的原因是,当你没有设置 ...
- 如何在Gulp中提高Browserify的打包速度
使用Browserify打包js时如果项目变得越来越大,编译时间就会相应变得越来越长.使用官方的插件watchify是个比较有效的提高速度方案. 提速原理 watchify的用法和gulp的watch ...
- 自学Python2.6-深浅拷贝
Python 深浅拷贝 一.深浅拷贝- 数字.字符串 对于 数字 和 字符串 而言,赋值.浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址. import copy n1=123 n2=n1 # # ...
- Visual Studio Code作为Angular开发工具常用插件安装、json-server安装与使用、angular/cli安装失败问题
前提准备: 搭建好Angular开发环境 1 安装Visual Studio Code 教程简单,不会的去问度娘 2 安装Chrome浏览器 教程简单,不会的趣闻度娘 3 Visual Studio ...
- Python数据可视化——使用Matplotlib创建散点图
Python数据可视化——使用Matplotlib创建散点图 2017-12-27 作者:淡水化合物 Matplotlib简述: Matplotlib是一个用于创建出高质量图表的桌面绘图包(主要是2D ...
- 前后端分离ueditor富文本编辑器的使用-Java版本
最近在写一个自己的后台管理系统(主要是写着玩的,用来熟悉后端java的知识,目前只是会简单的写点接口),想在项目中编写一个发布新闻文章的功能,想到了使用百度的ueditor富文本编辑器,网上找了很多j ...
- requireJS基础使用
index.html <body class="requireBODY" id="body"><div id="vuebox&quo ...
- 转:IT巨头纷纷“卡位” 智能语音成人机交互入口必争之地
http://www.cs.com.cn/xwzx/hwxx/201707/t20170712_5368595.html 随着物联网的迅速发展,作为重要接口的智能语音技术已成为国内外IT巨头的必争之地 ...
- bzoj 1570: [JSOI2008]Blue Mary的旅行
Description 在一段时间之后,网络公司终于有了一定的知名度,也开始收到一些订单,其中最大的一宗来自B市.Blue Mary决定亲自去签下这份订单.为了节省旅行经费,他的某个金融顾问建议只购买 ...
- php-fpm开机启动
php-fpm开机自动启动脚本 网上有各种版本的php-fpm开机自动启动脚本, 其实你编译后源目录已经生成自动脚本.不用做任何修改即用. cp {php-5.3.x-source-dir}/sapi ...