1、前言
在项目中需要用到三维曲线轨迹的绘制,在查阅资料后暂定选择qwtplot3D库作为解决方案。qwtplot3d是qt解决三维图形绘制的库,核心通过调用openGL库完成,可以实现三维曲面绘制,三维状态下折线,散点等图形的绘制。但是其在十多年前推出后一直没有太大的更新,而且自带的类并不够丰富,只是暂时能够满足项目开发需求,此篇文章仅作为记录。
2、工具、环境
- window11系统;
- Qt 5.12.0+msvc2017
- windows SDK 10
3、源码下载
在QWT3D下载链接https://sourceforge.net/projects/qwtplot3d/files/qwtplot3d/中下载源码,选择最新版本0.2.7版本并下载
解压qwtplot3d-0.2.7.zip至任意磁盘根目录下
(注意: 由于Qt项目编译不支持中文路径和带空格的路径)
4、源码编译
(1)打开D:\qwtplot3d\,将会看到qwtplot3d.pro文件, 使用Qt Creator打开
(2)打开qwtplot3d.pro文件,修改该文件部分内容: win32:TEMPLATE= vclib 修改为: win32:TEMPLATE= lib。将CONFIG后的内容改为如下
(3)在qwtplot3d.pro文件最后,新增语句: LIBS += -lopengl32 -lglu32。同时需要根据错误信息在qwt3d_openglhelper.h添加#include <WINDOWS.H>和#include "GL/glu.h"。
(4)编译项目,在项目文件夹的lib文件夹中看到生成的qwtplot3d.dll与qwtplot3d.lib文件,如果没有.lib文件,注意是否第2步是否已修改staticlib
5、源码的修改
因为需要使用到3d曲线绘制,而原有的qwt3d中为曲面绘制,所以需要进行一部分的修改
具体参照以下链接的方法进行修改这位大佬的文章https://www.cnblogs.com/xjknb/p/15305039.html
6、qwt3d库的使用
在其他的项目中使用qwt3d库,需要在项目pro中进行如下的配置
(1)Qt 添加opengl
(2)导入qwtplot3d.lib库(注意:本人的qwtplot3d.lib文件放在pro同级的lib文件夹下,qwt3d头文件放在pro同级的include文件夹下)
(3)导入opengl32与glu库
(4)引用相关头文件与使用命名空间Qwt3D
(5)声明使用的类
(6)在main()函数中使用类
7、参考资料
编译与使用时翻阅的多篇博客资料,最终参考了 Qt-5.10.1 Windows MinGW 下QwtPlot3D的编译及其示例的运行https://www.cnblogs.com/r0xFED/p/8627656.html
与 QwtPlot3D绘制三维曲线,一条多条都可https://www.cnblogs.com/xjknb/p/15305039.html
这两篇博客进行qwtplot3d库的编译、修改与使用。
最后再次感谢这两位大佬的无私奉献,以上仅为本人使用过程的分享,仅作记录,如有问题,欢迎指正。