2014-01-30 93 views
0

所以這裏是我的問題:我可以以任意順序堆疊QGraphicsScene中的對象嗎?

我有一個場景,其中的對象A和B.

我把對象C作爲A的孩子,把D作爲B的孩子。

我想看到父母雙方的頂部兩個孩子,即不失繼承我想下,在A和B的前面即使是落後B.

這可能嗎?

+1

不,沒有現成的解決方案。其中一個解決方法是將C作爲B的子項,然後監視A和B位置的變化並重新計算C位置。 –

+0

是的,這是我想避免,謝謝雖然:) –

回答

1

它可能會導致你其他問題,但你可以看看不使用GraphicsItem父母系統。

這兩種選擇離開: -

1)手柄養育自己,這意味着每個項目的Qt的母公司是GraphicsScene,允許使用setZValue的。您將不得不處理相對於父項目的轉換和翻譯。

2)使用QGraphicsItemGroup,它可能允許在組的項目上調用setZValue,但應該像處理組一樣處理移動項目,而不必手動轉換和轉換子項目。我沒有嘗試過這個,但應該很簡單,以測試這個。

在過去,我使用了第一種方法,它可以工作,但是需要編寫大量Qt通常通過父母系統爲您提供的代碼。

相關問題