PCL(Point Cloud Library )是功能很强大的开源C++库,最近博主需要结合PCL和QT可视化ply格网文件。
查阅了相关资料,得知PCL的可视化是通过VTK实现的,所以需要搞清楚VTK和QT的绑定方法就行了,最简单的就是使用QVTKWidget,这个在Qt Designer里面是以插件形式使用的。因此要在UI设计时,添加QVTKWidget控件.
1. 编译VTK
记住一定要用VTK源码编译!!!!如果你用官网的二进制文件直接安装VTK的话是缺少QVTKWidget插件的。
在编译VTK的时候,VTK_USE_QT以及BUILD_SHARED_LIBS这两个选项需要勾选,编译完成后会生成QVTKWidgetPlugin.dll和QVTKWidgetPlugin.lib。把生成release(debug版本的话QT Designer会打不开,博主亲测打不开)版本的QVTKWidgetPlugin.dll和QVTKWidgetPlugin.lib拷贝到qt的安装目录里的plugins/designer目录下。打开Qt Designer时即可看到相关的插件。如下图所示:
2.UI设计
在主窗口中把QVTKWidget控件拖到合适的位置。然后添加打开格网文件的“open动作”,并转到该动作的槽函数,对槽函数添加你需要实现打开ply文件的代码。
3. 代码
头文件:
#ifndef RECONSTRUCTIONMAINWINDOW_H
#define RECONSTRUCTIONMAINWINDOW_H