joomla 网站模版,logo标志设计网,浏览器打开自己做的网站,wordpress 修改id1、首先在Qt Designer创建UI后#xff0c;拖一个Widget窗口出来 2、在对象查看器中右击该Widget#xff0c;选择提升窗口部件#xff0c;如下操作#xff1a; 3、把UI转出来放在VS项目中#xff0c;其中你的UI代码头文件会自带QVTKOpenGLNativeWidget.h#xff0c;当然你…1、首先在Qt Designer创建UI后拖一个Widget窗口出来 2、在对象查看器中右击该Widget选择提升窗口部件如下操作 3、把UI转出来放在VS项目中其中你的UI代码头文件会自带QVTKOpenGLNativeWidget.h当然你的VS属性环境得配置好VTK的环境QVTKOpenGLNativeWidget.h在VTK\include\vtk-9.1路径下详细操作参考其它博客;
4、在项目的.h头文件中增加
//vtk窗口的
#include vtkRenderer.h
#include vtkRenderWindow.h
#include vtkGenericOpenGLRenderWindow.h
#include pcl/visualization/pcl_visualizer.h//pcl加载点云的
#include pcl/io/pcd_io.h private:pcl::visualization::PCLVisualizer::Ptr viewer; //初始化一个viewer
5、防止VTK窗口出现警告在项目的.CPP文件中加上
vtkObject::GlobalWarningDisplayOff(); //不显示警告弹窗此处可能用不上如果弹了警告窗再加上
6、在项目的.CPP文件中加上如下内容初始化QVTKOpenGLNatiaveWidget那个窗口窗口的名字是自定义的我这里叫做widget_opengl。
auto renderer vtkSmartPointervtkRenderer::New();
auto renderWindow vtkSmartPointervtkGenericOpenGLRenderWindow::New();
renderWindow-AddRenderer(renderer);
viewer.reset(new pcl::visualization::PCLVisualizer(renderer,renderWindow,viewer,false));
ui-widget_opengl-setRenderWindow(viewer-getRenderWindow()); //此处widget_opengl是我这个窗口的名称自定义的
viewer-setopInteractor(ui-widget_opengl-interactor(),ui-widget_opengl-renderWindow());
本文代码因某些原因全部手敲的...如果出现打错的地方请指出。 7、显示点云
//初始化一个点云
pcl::PointCloudpcl::PointXYZ::Ptr cloud(new pcl::PointCloudpcl::PointXYZ);//加载点云文件
if(pcl::io::loadPCDFile(cloud.pcd,*cloud)-1)
{//此处cloud.pcd是你的点云文件
}//刷新显示窗口
ui-widget_opengl-repaint();
//添加点云
viewer-addPointCloud(cloud,cloud);
//刷新
ui-widget_opengl-update();
//视角
viewer-resetCamera();
8、实现效果 --tip:由于代码都是在csdn网页手敲的可能会有打错的发现问题麻烦留言提醒一下我谢谢