Embedding PCL Viewer on a Qt GUI Main Window

不羁岁月 提交于 2019-11-30 10:05:05

You can simply use PCL's PCLVisualizer, which is extensively described here, via the QVTKWidget. This is the setup I'm currently running. So you would end up doing something along the lines of the following (pseudo-)code:

In your header:

class PointCloudWidget : public QVTKWidget
{
    //Whatever comes before (constructor, methods, etc.)

private:

    pcl::visualization::PCLVisualizer m_visualizer;
};

And in your cpp:

PointCloudWidget::PointCloudWidget(QWidget *parent) : QVTKWidget(parent)
{
    this->SetRenderWindow(m_visualizer.getRenderWindow());
}

You can then use the visualizer to achieve the same functionality as the PCL viewer has.

Look at the kind of minimal code I put here (PCL Viewer with Qt GUI minimal code). There are some redundancies, but the code I believe is pretty straightforward.

The main idea is to put the files in the one folder and start project from CMakeLists.txt (Qt cmake wizard).

I use build directory inside project dir. (this is important, because in pclwindow.cpp I hardcoded the path to the generated file #include "build/ui_pclwindow.h"

If app builds, but crashes you'll probably need to add some dependencies (e.g. dll files on Win platform)

I hope it will give you fast and simple start!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!