分别组合PCL和Python的C++ Qt Demo

前言

毕业论文的可视化部分涉及了PCL和Python分别和Qt的组合,然而没有找到适合我直接参考的博客(这不就是等着让我来写嘛哈哈哈哈哈哈),于是写程序的时候就留着demo,想着之后一定要写个博客,现在趁着还没入职赶紧来写写~


全局环境准备

  • 笔记本型号: 神舟战神 Z7-KP7D1
  • 系统: Windows 10 (x64)
  • 开发软件: Visual Studio 2015
  • 编程语言: C++
  • 库安装*: Qt 5.7.1(安装参考这篇博客:Qt5.7 + VS2015 环境搭建,我的安装路径:D:\Lib\Qt\Qt5.7.1)。
  • 属性配置文件:在本篇博客中我的属性配置文件分别是python35.propspcl181_msvc2015_x64_*.propsvtkwithqt_8_0_0_msvc2015_x64_*.props,如果你的所有相关库的安装路径和我一模一样,那你就可以click这个链接直接用啦~

Part 1: Qt + PCL

环境准备

  • 辅助库安装: PCL-1.8.1 AllInOne(我的安装路径:D:\Lib\PCL\PCL_1_8_1_msvc2015

  • 其他库编译: VTK8.0.0 With Qt 5.7.1(用来生成QVTKWidget组件,我的库的CMAKE_INSTALL_PREFIX路径:D:/Lib/PCL/PCL_1_8_1_msvc2015_VTKWithQt/3rdParty/VTKWithQt

    你说啥,没找到这个库?那就对了,这是我自己编译的,编译过程跟这个这个(百度一下你就知道)差不太多吧。要是你没有什么独特的需求,可以click这个链接直接下载我编译好的库。

  • 其他操作:需要把*\VTKWithQt\plugins\designer\QVTKWidgetPlugin.dll文件复制到*\Qt5.7.1\5.7\msvc2015_64\plugins\designer路径下,再打开Qt Designer可以看到Widget Box最下面有QVTKWidget组件。
    这里写图片描述

Demo

  • 新建一个Qt GUI Application,Project名为PCLViewer。
    这里写图片描述
  • 添加属性表:这里要注意属性表的添加顺序,先添加PCL的属性表,再添加VTK的属性表,如下图所示。
    这里写图片描述
    否则会出现下面这个问题窗口vtkOutputWindow:“vtkInteractorStyleSwitchBase (00000236369F5980): Warning: Link to vtkInteractionStyle for default style selection.”
    这里写图片描述
  • 从我的Github([链接在这][9])上面下载这三个文件替换掉Project中的对应文件。
    这里写图片描述
  • Run!
    这里写图片描述

Part 2: Qt (C++) + Python

环境准备

  • 辅助库安装: Python 3.5.2 (Anaconda3 4.2.0)(我的安装路径:D:\Lib\Anaconda3_python35)。
  • 其他操作:如果要在VS的Debug模式下跑程序,要把*\Anaconda3_python35\include\pyconfig.h文件中的下面这两行
#           if defined(_DEBUG)
#               pragma comment(lib,"python35_d.lib")

替换成

#           if defined(_DEBUG)
#               pragma comment(lib,"python35.lib")

并且把下面这三行注释掉。

#ifdef _DEBUG
#   define Py_DEBUG
#endif

Demo

  • 这个部分一共包括调用python脚本简单求和、String语句调用PyQt、String语句调用Python的Matplotlib、脚本调用PyQt(PyQt窗口中嵌入Matplotlib窗口)、脚本调用PyQt(其中调用了Python的Mplstronet库(不传参))和脚本调用PyQt(其中调用了Python的Mplstronet库(C++传参给Python))。效果如下图所示。
    这里写图片描述

[9]:

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值