我在 Qt 中创建我的应用程序。我在 QVTWidget 插件中集成了一个 3D PCL 查看器。我想更改用户输入的标准功能,例如在查看器窗口上单击鼠标左键。
以下是班级详情:
class SiLS : public QMainWindow, pcl::visualization::PCLVisualizerInteractorStyle
{
Q_OBJECT
public:
SiLS(QWidget *parent = nullptr);
~SiLS();
void OnLeftButtonDown() override
{
std::cout << "Pressed left mouse button." << std::endl;
}
private slots:
private:
Ui::SiLS *ui;
protected:
pcl::visualization::PCLVisualizer::Ptr viewer;
};
SiLS::SiLS(QWidget *parent) : QMainWindow(parent) , ui(new Ui::SiLS)
{
ui->setupUi(this);
// Set up the QVTK window
viewer.reset (new pcl::visualization::PCLVisualizer ("viewer", false));
ui->BEV_Display->SetRenderWindow(viewer->getRenderWindow());
viewer->setupInteractor(ui->BEV_Display->GetInteractor(), ui->BEV_Display->GetRenderWindow(), SiLS::New());
ui->BEV_Display->update();
}
SiLS::~SiLS()
{
delete ui;
}
但是在窗口内左键单击后,我没有得到输出中的打印语句。
关闭应用程序窗口后,我收到以下错误:
错误:在 /home/suraj/VTK/VTK-7.1.1/Common/Core/vtkObject.cxx 中,第 156 行 vtkObject (0x7ffda4148b80):尝试删除具有非零引用计数的对象。
一般警告:在 /home/suraj/VTK/VTK-7.1.1/Common/Core/vtkObjectBase.cxx 中,第 93 行尝试删除具有非零引用计数的对象
. 有什么我想念的吗?