Я пытаюсь отправить пользовательские события в существующую QGraphicsScene.
первое событие происходит в сцене с нужным местоположением. с этого момента все остальные события отправляются в то же место (как и первое событие), даже если они были предоставлены в других местах.
после того, как я вручную щелкну где-нибудь внутри сцены, она «перезапускается», и следующее пользовательское событие принимается в нужном месте (все остальные все еще идут в неправильное место).
мой код:
qreal sceneX = customX;
qreal sceneY = customY;
QGraphicsView* view = m_scene->views()[0];
QPoint ptView = view->mapFromScene(sceneX, sceneY);
QPoint ptGlobal = view->viewport()->mapToGlobal(ptView);
QGraphicsSceneMouseEvent event(QEvent::GraphicsSceneMouseRelease);
event.setScenePos(QPoint(sceneX, sceneY));
event.setPos(QPoint(sceneX, sceneY));
event.setScreenPos(ptGlobal);
event.setButton(Qt::LeftButton);
event.setButtons(Qt::LeftButton);
event.setModifiers(QApplication::keyboardModifiers());
qApp->sendEvent(m_scene, &event);
customX и customY - это произвольные x и y, которые я генерирую на лету. Я отправляю пример кода много раз с различными customX и customY.