如何将鼠标事件发送到QVTKOpenGLWidget

时间:2018-06-08 12:53:37

标签: qt vtk

我正在使用QVTKOpenGLWidget进行数据可视化。 但是,有时在将演员添加到渲染器后调用QVTKOpenGLWidget::update()后,所有演员都不会立即被绘制。 我不知道为什么会这样,我无法重现这个问题。

但是,我发现一旦鼠标拖动事件发生在QVTKOpenGLWidget上,所有演员都被正确绘制。所以我想到QMouseMoveEvent通过QVTKOpenGLWidget手动向QVTKOpenGLWidget::mouseEvent(&ev1)发送QVTKOpenGLWidget。但没有发生任何事情我可以通过事件过滤器确认收到了事件。

我的问题是如何发送鼠标拖动事件与vtkRendere::ResetCamera中“实际”鼠标驱动的事件相同。

编辑:2018-11-六月

我在改变渲染器的摄像头配置后调用com.fasterxml.jackson.annotation.JsonIgnore。问题解决了。

1 个答案:

答案 0 :(得分:0)

无需显式传递鼠标事件来强制进行更新。 假设您有一个QVTKOpenGLWidget *qvtk,那么为了更新场景,您应该调用qvtk->GetRenderWindow()->Render()