У меня есть одна QGraphicsScene
в качестве основной сцены с несколькими подвижными QGraphicsItem
s в ней и еще одна QGraphicsScene
поверх основной сцены в качестве наложения.Наложенная сцена точно такого же размера, что и экран пользователя, тогда как основная сцена намного больше, поэтому ее необходимо прокручивать вверх и вниз автоматически.
Если элемент в главной сцене будет перемещенЯ хочу удалить этот элемент из основной сцены и добавить его в сцену наложения, позволить пользователю переместить элемент в сцене наложения, и как только мышь отпустится, вернуть его обратно в основную сцену.Это позволяет мне плавно автоматически прокручивать основную сцену, когда элемент приближается к краям экрана.
Проблема заключается в следующем;когда элемент удален со своей сцены, он получает событие QMouseUngrab
, поэтому невозможно продолжить перемещение элемента, не щелкая его снова в сцене наложения.Я пытался предотвратить событие ungrab или создать фальшивый QMousePress
в режиме оверлейной сцены, однако ни один из них не решил проблему.
У вас есть идея, как я могу начать перемещать элемент в одной сцене и продолжитьпереместить его в другую сцену без перерыва?
Другими словами:
QMousePress
происходит в основной сцене - Несколько
QMouseMove
с и, наконец,QMouseRelease
должно произойти в сцене наложения - Сразу после
QMouseRelease
элемент будет возвращен на главную сцену