python - Pyqt4 将 QGraphicsPixmapItem 绘制到另一个 QGraphicsPixmapItem 上

标签 python animation pyqt4 layer qgraphicsitem

我不久前开始使用 PyQt4,现在我尝试使用 QGraphicsItemAnimation 创建一个小动画。我以前从未使用 PyQt4 这样做过,我总是使用 pygame。必须有不同的图层,qpixmap 可以在这些图层上进行动画处理,但这些图层也可以绘制到其他图层上,然后整个图层可以通过所有 qpixmap 绘制到其上进行动画处理。我在某个地方看到,使用 QGraphicsItemAnimation 我可以对 QGraphicsItems 进行动画处理,而不必像在 pygame 中那样将它们重新绘制到它们所在的图层。有点难以解释。我希望你明白我的意思。我会添加一些图片,以便更清晰。

例如,如果我有这两种形状:

enter image description here

例如,我可以仅移动矩形的 qgraphicsitem:

enter image description here

但我也可以移动整个图层,椭圆和矩形绘制在同一图层上,所以如果我在移动矩形后移动整个图层,它会看起来像这样:

enter image description here

为了实现这一点,我必须以某种方式创建这些“图层”,我想通过使用 QGraphicsPixmapItems 作为图层来做到这一点,然后将其他 QGraphicsPixmapItems 绘制到它们上面,作为图层或单个图片。就像当您将 QGraphicsItem 添加到 QGraphicsScene 时,但据我所知,QGraphicsScenes 无法使用 QGraphicsItemAnimation 进行动画处理。我查看了文档,但只能找到 QGraphicsPixmapItem.setPixmap 并替换旧的像素图,而不是在其上添加另一个像素图。那么如何将一个 QGraphicsPixmapItem 添加到另一个 QGraphicsPixmapItem 中呢?如果重要的话,我正在使用 Python 2.7.3。

最佳答案

要创建“层”,请将项目添加到 QGraphicsItemGroup .

QGraphicsItemGroup类继承了QGraphicsItem,因此可以将其设置为动画项,并且其所有子项将作为一个单元进行动画处理。同时,子项目仍然可以单独设置动画。

关于python - Pyqt4 将 QGraphicsPixmapItem 绘制到另一个 QGraphicsPixmapItem 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21656704/

相关文章:

python - 为什么 TextBlob 不使用/检测否定?

python - 无法使用 XCode4 在 OSX 10.6.7 上安装 psycopg2

python - 嵌套字典中的嵌套字典,如何自动化它们?

CSS3 幻灯片动画问题

jquery - SVG stroke-dashoffset 动画在点击时(再次)开始

python - PyQt 从 GUI 获取值

python - 当我尝试从 QString 数组创建时,创建 numpy 数组失败

python - 从 Windows 在 Linux 上运行应用程序并收集所有结果的最佳方式

python - 如何检查由带德语变音符号的 QString 表示的路径是否存在?

javascript - 动画:jQuery VS CSS:jQuery 滞后,为什么? - jsFiddle 比较/示例