PCL点云之旅13 - QT拆分器布局

150 阅读1分钟

实现效果

image.png

image.png

可以看到,左边的选点参数列表和上方属性列表大小一直在动态的改变,这里我们是通过QT的拆分器来实现的

实现步骤

  1. 首先在mainWindow头文件引入#include <QSplitter>
  2. 设置主窗口布局和VTK窗口布局。两个窗口的布局不相同分别为3/1
  3. 在MainWindow的构造函数地方添加如下代码和布局 实现功能

代码实现

image.png

    // 设置两个窗口比例
    ui->main_layout->setStretchFactor(ui->vtk_layout,3);
    ui->main_layout->setStretchFactor(ui->control_layout,1);
    //初始化拆分器布局
    QSplitter* pHSplitter = new QSplitter(Qt::Vertical, this);
    pHSplitter->addWidget(ui->groupBox);
    pHSplitter->addWidget(ui->groupBox_2);
    ui->control_layout->addWidget(pHSplitter);
    //初始化PCL显示控件
    viewer.reset(new pcl::visualization::PCLVisualizer("viewer", false));
    viewer->setBackgroundColor(0.56,0.6,0.623);
    ui->qvtkWidget->SetRenderWindow(viewer->getRenderWindow());
    viewer->setupInteractor(ui->qvtkWidget->GetInteractor(), ui->qvtkWidget->GetRenderWindow());
    ui->qvtkWidget->update();