使用QVTKOpenGLWidget与Qt导致项目崩溃

时间:2018-05-10 06:38:47

标签: c++ qt vtk point-cloud-library qvtkwidget

我使用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。

有什么遗漏吗?

0 个答案:

没有答案