2014-02-09 76 views
1

我剛開始使用PyQt4,現在我試圖用QGraphicsItemAnimation創建一個小動畫。我從來沒有用PyQt4做過,我一直使用pygame。必須有不同的圖層,可以在這些圖層上爲這些圖層設置qpixmaps動畫,但這些圖層也可以繪製到其他圖層上,然後可以使用所有qpixmaps對其進行動畫。我看到QGraphicsItemAnimation的某處,我可以爲QGraphicsItems製作動畫,而無需將它們重新繪製到它們所在的圖層上,就像我必須在pygame中一樣。這有點難以解釋。我希望你明白我的意思。我會添加一些圖片,以便更清楚。Pyqt4繪製QGraphicsPixmapItem到另一個QGraphicsPixmapItem

例如,如果我有這兩種形狀:

enter image description here

我能夠例如僅移動矩形的QGraphicsItem:

enter image description here

但我也可以移動整個圖層,橢圓和矩形被繪製到同一圖層上,所以如果在移動矩形後移動整個圖層,它將如下所示:

enter image description here

要做到這一點我無論如何都必須創建這些「層」,我認爲通過使用QGraphicsPixmapItems作爲層這樣做的,然後繪製其他QGraphicsPixmapItems到他們身上,無論是作爲層或單畫面。就像我將QGraphicsItem添加到QGraphicsScene時一樣,但據我所知,QGraphicsScenes不能用QGraphicsItemAnimation動畫。我查看了文檔,但我只能找到QGraphicsPixmapItem.setPixmap,它取代了舊的pixmap,而不是在其上添加另一個。那麼如何添加一個QGraphicsPixmapItem到另一個QGraphicsPixmapItem?如果有問題,我正在使用Python 2.7.3。

回答

1

要創建「圖層」,請將項目添加到QGraphicsItemGroup

QGraphicsItemGroup類繼承QGraphicsItem,所以它可以設置爲動畫項目,其所有的子項目將作爲一個單元動畫。同時,兒童項目仍然可以單獨進行動畫製作。

相關問題