【发布时间】:2014-03-06 13:46:38
【问题描述】:
我不久前开始使用 PyQt4,现在我正在尝试使用 QGraphicsItemAnimation 创建一个小动画。我以前从未使用 PyQt4 这样做过,我总是使用 pygame。必须有不同的层,qpixmaps 可以在这些层上进行动画处理,但这些层也可以绘制到其他层上,然后整个层可以在所有 qpixmap 上绘制动画。我在某处看到使用 QGraphicsItemAnimation 我可以为 QGraphicsItems 设置动画,而无需像在 pygame 中那样将它们重新绘制到它们所在的图层。这有点难以解释。我希望你明白我的意思。我会添加一些图片,以便更清楚。
例如,如果我有这两种形状:
例如,我只能移动矩形的 qgraphicsitem:
但我也可以移动整个图层,椭圆和矩形被绘制在同一个图层上,所以如果我在移动矩形后移动整个图层,它会是这样的:
为了实现这一点,我必须以某种方式创建这些“层”,我想通过使用 QGraphicsPixmapItems 作为层然后将其他 QGraphicsPixmapItems 绘制到它们上,作为层或作为单个图片。就像您将 QGraphicsItem 添加到 QGraphicsScene 时一样,但据我所知,QGraphicsScenes 不能使用 QGraphicsItemAnimation 进行动画处理。我查看了文档,但我只能找到 QGraphicsPixmapItem.setPixmap 并替换旧的像素图,而不是在其上添加另一个像素图。那么如何将 QGraphicsPixmapItem 添加到另一个 QGraphicsPixmapItem 呢?如果这很重要,我正在使用 Python 2.7.3。
【问题讨论】:
标签: python animation pyqt4 layer qgraphicsitem