【问题标题】:Pyqt4 draw QGraphicsPixmapItem onto another QGraphicsPixmapItemPyqt4 将 QGraphicsPixmapItem 绘制到另一个 QGraphicsPixmapItem 上
【发布时间】: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


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2020-05-09
      • 1970-01-01
      • 1970-01-01
      • 2019-12-10
      • 1970-01-01
      • 2020-02-04
      • 1970-01-01
      • 2012-07-18
      • 2018-03-31
      相关资源
      最近更新 更多