我使用pcl和vtk在Qt上有一个工作项目....我正在使用QVTKWidget。
现在我需要使用QVTKOpenGLWidget重新构建项目,因为不推荐使用QVTKWidget
这篇文章建议应该使用master的最新PCL版本 QVTKOpenGLWidget and vtkGenericOpenGlRenderWindow with QTDesigner
我这样做并更改了必要的文件,但是当我将pclVisuiliser与QVTKOpenGLWidget链接时,编译项目时总是崩溃。
QSurfaceFormat::setDefaultFormat(QVTKOpenGLWidget::defaultFormat());
QApplication app(argc, argv);
QVTKOpenGLWidget *widget = new QVTKOpenGLWidget();
vtkNew<vtkRenderer> renderer;
vtkNew<vtkGenericOpenGLRenderWindow> renderWindow;
renderWindow->AddRenderer(renderer.Get());
pcl::visualization::PCLVisualizer::Ptr pclViewer(new pcl::visualization::PCLVisualizer(renderer.Get(), renderWindow.Get(), "viewer", false));
widget->SetRenderWindow(pclViewer->getRenderWindow());
widget->show();
当这两行被注释掉时,项目不会崩溃:
pcl::visualization::PCLVisualizer::Ptr pclViewer(new pcl::visualization::PCLVisualizer(renderer.Get(), renderWindow.Get(), "viewer", false));
widget->SetRenderWindow(pclViewer->getRenderWindow());
我正在使用Qt 5.9.5和github上的master的最新版本用于PCl和VTK。
有什么遗漏吗?