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,用于专业技术领域的可视化显示,如下所示: 左图为自动控制领域,二阶系统的频率响应:中图为德国小 ...

  2. Qwt 编译 配置 使用

    QWT,全称是Qt Widgets for Technical Applications,是一个基于LGPL版权协议的开源项目,可生成各种统计图.它为具有技术专业背景的程序提供GUI组件和一组实用类, ...

  3. Qt 编译配置相关总结

    MinGW 与 MSVC 编译的区别 我们可以从 Qt 下载页面看到两种版本编译器,如下图: 我们来对比一下这两个编译器的区别: MSVC 是指微软的 VC 编译器. MinGW 是 Minimali ...

  4. Vs2012(Vs2013) 编译 64位 Qt (动态库), 并使用自编译Qt建立工程(悲催经历)。(含遗留问题)

    仅供参考. 体会:我个人此次编译不该使用Vs2013编译Qt. 使用以下程序: Qt : qt-opensource-windows-x86-msvc2012_64_opengl-5.2.1.exe ...

  5. Qt之Qwt学习之安装

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

  6. Qt for Windows:Qt 5.4.0 MinGW 静态编译版本制作 (转)

    大致流程: 1.安装Qt(源码版)以及其他必要的环境 2.编译/安装 3.配置 4.使用 ----------正文分割线---------- 1.安装Qt(源码版) 1.1 下载Qt(两个地址二选一即 ...

  7. Qt 5.9.4 如何静态编译和部署?

    Qt 5.9.4 如何静态编译和部署? MSVC2015 x86 静态编译 Qt 部署静态库 VS2015 部署静态库 1. MSVC2015 x86 静态编译 1.1 Qt 官网下载最新源代码 立即 ...

  8. qt5.11.2+vs2017环境下opencv3.4.1编译配置

    OpenCV是一个开源的计算机库,它可以帮助视觉工作者做很多富有创造性的工作,在图像处理领域扮演着重要的角色.由于opencv3.x的存在,不管你是学生还是研究人员,是专家还是初学者,都可以快速的建立 ...

  9. 转载:Centos7 从零编译配置Memcached

    序言 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度. Memca ...

随机推荐

  1. 201271050130-滕江南-《面向对象程序设计(java)》第十二周学习总结

    201271050130-滕江南-<面向对象程序设计(java)>第十二周学习总结 项       目 内      容 这个作业属于哪个课程 https://www.cnblogs.co ...

  2. oracle表连接的优化

    多表连接的三种方式: HASH JOIN,MERGE JOIN,NESTED LOOP NESTED LOOP: 嵌套循环连接,适用于内表数据量较小时.外表返回的每一行都要在内表中检索找到与它匹配的行 ...

  3. MySQL学习笔记8——多表查询

    多表查询 多表查询 *合并结果集 *连接查询 *子查询 合并结果集 *要求被合并的表中,列的类型和列数相同(实际上是查询的结果集列类型和列数相同即可) *UNION,去除重复行 *UNION ALL, ...

  4. react细节

    1.在函数式组件中使用 类型和默认值 function App({ name }) { return ( <div> <h1>{name}</h1> </di ...

  5. 8.Go-Reader,Writer和ioutil

    8.1.Reader (1)输入流 流是应用程序和外部资源进行数据交互的纽带 流分为输入流和输出流,输入和输出都是相对于程序,把外部数据传入程序中叫做输入流,反之叫做输出流 在Go语言标准库中io包下 ...

  6. orchard 中文文档 中英对照版

    ORCHARD CMS a free, open source, community-focused Content Management System built on the ASP.NET MV ...

  7. backbone 路由传参(可选)

    因为维护公司的老项目而接触到backbone.以前是只闻其名,未见其码. 因为其他项目需要跳转到本项目的某个页面,但是需要UI改变. 考虑的方法是给路由添加一个可选参数.代码如下: 正常路由: rou ...

  8. Mac 电脑无法登陆 账号了

    版本:10.14.2 每次输入用户名和密码都没有反应: 进入 命令行执行: defaults delete com.apple.appstore.commerce Storefront 然后重启机器, ...

  9. ubuntu16.04 下anaconda3安装教程

    贴一个成功的连接: https://blog.csdn.net/u012243626/article/details/82469174

  10. Java单元测试简述

    最开始项目中是没有单元测试的,基本都是自己通过各种方式来实现测试的.比如修改代码,测完再改回来:再比如直接模拟用户操作,直接当黑盒测试,然后自己去看相应的逻辑有没有,状态有没有改变. 这些方式有几个缺 ...