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 ...
随机推荐
- Django项目创建02
Django项目创建(ubuntu环境) 1. 创建项目目录,我是在root下创建了一个workspace文件夹:mkdir workspace 然后cd到该目录下 命令:django-adm ...
- 理解Vue中的Render渲染函数
理解Vue中的Render渲染函数 VUE一般使用template来创建HTML,然后在有的时候,我们需要使用javascript来创建html,这时候我们需要使用render函数.比如如下我想要实现 ...
- 《Effective Java(中文第二版)》【PDF】下载
<Effective Java(中文第二版)>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382186 Java(中文第二版)& ...
- DWR3.0 服务器推送及解惑
前言:在慕课网上学习一下服务器推送给客户端技术,代码亲测过,没毛病,今天整理记录一下: 一.环境搭建 直接上图,简单粗暴,myeclipse上file->new->WebProject 二 ...
- awk 字符拼接
i-6gdkkemx 2 2 #cat cpu.txt | awk '{print $1,$2"核"$3"G"}' i-6gdkkemx 2核2G
- go编程之常见工具函数
1.时间格式化 基于模式的布局进行时间格式化和解析 package main import "fmt" import "time" func main() { ...
- (一)基于阿里云的MQTT远程控制(Android 连接MQTT服务器,ESP8266连接MQTT服务器实现远程通信控制----简单的连接通信)
如果不了解MQTT的可以看这篇文章 http://www.cnblogs.com/yangfengwu/p/7764667.html http://www.cnblogs.com/yangfengw ...
- JS中事件绑定的三种方式
以下是搜集的在JS中事件绑定的三种方式. 1. HTML onclick attribute <button type="button" id="upl ...
- locust 参数,数据详解
参数 说明-h, –help 查看帮助-H HOST, –host=HOST 指定被测试的主机,采用以格式:http://10.21.32.33–web-host=WEB_HOST ...
- windows 运行banana
1 git clone 工程 2 安装 npm 3 执行 npm install -g bower