我正在使用QVTKOpenGLWidget
进行数据可视化。
但是,有时在将演员添加到渲染器后调用QVTKOpenGLWidget::update()
后,所有演员都不会立即被绘制。
我不知道为什么会这样,我无法重现这个问题。
但是,我发现一旦鼠标拖动事件发生在QVTKOpenGLWidget
上,所有演员都被正确绘制。所以我想到QMouseMoveEvent
通过QVTKOpenGLWidget
手动向QVTKOpenGLWidget::mouseEvent(&ev1)
发送QVTKOpenGLWidget
。但没有发生任何事情我可以通过事件过滤器确认收到了事件。
我的问题是如何发送鼠标拖动事件与vtkRendere::ResetCamera
中“实际”鼠标驱动的事件相同。
编辑:2018-11-六月
我在改变渲染器的摄像头配置后调用com.fasterxml.jackson.annotation.JsonIgnore
。问题解决了。
答案 0 :(得分:0)
无需显式传递鼠标事件来强制进行更新。
假设您有一个QVTKOpenGLWidget *qvtk
,那么为了更新场景,您应该调用qvtk->GetRenderWindow()->Render()
。