我想开发Windows 7 64位计算机上使用QtCreator的用户界面。 该用户界面将被部署一个32位的Windows 7的机器上,并且将控制结构光应用的投影仪和相机。 我无法控制的原因(与摄像机和投影仪的API兼容),我将使用这个MS VS 2010的32位编译器。 几个星期想有我需要的一切一起工作(QT 4.8.4,QtCreator和点云中图书馆)后,我现在面临的一个小问题。
有没有办法,我可以嵌入PCL点云查看我的主要的Qt GUI窗口内的方法吗? 问题是,当我使用PCL浏览器,它带来了一个单独的窗口。 我想被嵌入我的主窗口,在此窗口中,我想还是可以用它(旋转,平移,缩放等)进行交互。
正如你可以从我的文章告诉,我是在QT / PCL /等新手,所以用最少的代码的任何例子要做到这一点,将不胜感激。 我做的研究星期这一点,我一直没能找到解决的办法,但我得到的印象是一个Qt物件可能是要走的路。
你可以简单地使用PCL的PCLVisualizer ,它广泛地描述在这里 ,通过QVTKWidget 。 这是我目前运行安装。 所以,你最终会沿着以下(伪)代码的行做的事情:
在您的标题:
class PointCloudWidget : public QVTKWidget
{
//Whatever comes before (constructor, methods, etc.)
private:
pcl::visualization::PCLVisualizer m_visualizer;
};
而在你的CPP:
PointCloudWidget::PointCloudWidget(QWidget *parent) : QVTKWidget(parent)
{
this->SetRenderWindow(m_visualizer.getRenderWindow());
}
然后,您可以使用可视化工具来实现相同的功能PCL观看者。
看看那种最小的代码,我把这里(PCL浏览器使用Qt GUI最少的代码) 。 有一些裁员,但我相信代码是非常简单的。
其主要思想是把文件放在一个文件夹,并开始从的CMakeLists.txt项目(QT CMake的向导)。
我用build
项目目录内的目录。 (这很重要,因为在pclwindow.cpp
我硬编码的路径,生成的文件#include "build/ui_pclwindow.h"
如果应用程序构建,但崩溃,你可能会需要添加一些依赖(如在Win平台的dll文件)
我希望它会给你快速和简单的开始!