我有一個QGraphicsScene
作爲主場景,其中有幾個可移動的QGraphicsItem
s和另一個QGraphicsScene
作爲疊加層。疊加場景與用戶的顯示器尺寸完全相同,而主場景要大得多,因此需要自動上下滾動。如何將QGraphicsItem移動到另一個場景而不會丟失鼠標?
如果主場景中的項目要移動,我想從主場景中刪除該項目並將其添加到疊加場景中,讓用戶將該項目移動到疊加場景中,並且儘快鼠標被釋放後將其放回主場景。這使我可以在物體接近顯示器的邊緣時順利地自動滾動主場景。
問題如下;當某個物品從其場景中移除時,它會收到一個QMouseUngrab
事件,因此無法在覆蓋物場景中再次單擊它時繼續移動該物品。我試圖阻止ungrab事件或在overlayscene中生成假冒QMousePress
,但是他們都沒有解決這個問題。
你知道我該如何開始在一個場景中移動一個項目,並繼續在另一個場景中移動它而沒有任何中斷?
換句話說:
QMousePress
發生在主場景- 幾個
QMouseMove
秒和最終一個QMouseRelease
應在覆蓋場景 - 權發生
QMouseRelease
後,該項目將被放回主場景