Как отправить событие мыши в QVTKOpenGLWidget - PullRequest
0 голосов
/ 08 июня 2018

Я использую QVTKOpenGLWidget для визуализации данных.Но иногда все актеры рисуются не сразу после того, как я добавил актеров в рендерер, а затем вызвал QVTKOpenGLWidget::update().Я не знаю, почему это происходит, и я не могу воспроизвести эту проблему.

Однако я обнаружил, что когда событие перетаскивания мыши произошло на QVTKOpenGLWidget, все актеры были нарисованы правильно.Поэтому я решил отправить QMouseMoveEvent вручную на QVTKOpenGLWidget на QVTKOpenGLWidget::mouseEvent(&ev1).Но ничего не произошло Хотя я мог подтвердить фильтром событий, что событие было получено.

Мой вопрос заключается в том, как я могу отправить событие перетаскивания мышью точно так же, как событие, управляемое «фактической» мышью в QVTKOpenGLWidget.

РЕДАКТИРОВАТЬ: 2018-11 июня

Я не могу позвонить vtkRendere::ResetCamera после изменения конфигурации камеры рендерера.Проблема решена.

1 Ответ

0 голосов
/ 08 июня 2018

Нет необходимости явно передавать событие мыши для принудительного обновления.Предположим, у вас есть QVTKOpenGLWidget *qvtk, чтобы обновить сцену, вы должны позвонить qvtk->GetRenderWindow()->Render().

...