Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt 如何在QGraphicsPixmapItem上添加视觉效果?_Qt_Qt5_Qgraphicspixmapitem - Fatal编程技术网

Qt 如何在QGraphicsPixmapItem上添加视觉效果?

Qt 如何在QGraphicsPixmapItem上添加视觉效果?,qt,qt5,qgraphicspixmapitem,Qt,Qt5,Qgraphicspixmapitem,我正在使用Qt5.5.0 我想知道一种在QGraphicsPixmapItem-s上添加(和删除)简单效果的好方法 更具体地说,我有多个QGraphicsPixmapItem-s在场景中移动。当它们发生碰撞时,我想让一个项目变白一段时间,然后回到原始的pixmap项目 我在QGraphicsPixmapItem类的文档中找到的唯一可能是我需要的virtualvoidpaint(QPainter*painter,const QStyleOptionGraphicsItem*选项,QWidget*小

我正在使用Qt5.5.0

我想知道一种在
QGraphicsPixmapItem
-s上添加(和删除)简单效果的好方法

更具体地说,我有多个
QGraphicsPixmapItem
-s在场景中移动。当它们发生碰撞时,我想让一个项目变白一段时间,然后回到原始的pixmap项目


我在
QGraphicsPixmapItem
类的文档中找到的唯一可能是我需要的
virtualvoidpaint(QPainter*painter,const QStyleOptionGraphicsItem*选项,QWidget*小部件)
成员。但是我如何使用它来实现我的目标呢?

不要使用
paint()
方法来完成这类工作。退房我自己还没有使用过它,但它应该可以提供您所需要的任何东西。从我所看到的
QGraphicsItemAnimation
用于设置平移、旋转、缩放和类似效果的动画。我要找的是改变我的
QGraphicsPixmapItem
中实际不透明像素的颜色。谷歌快速搜索给了我一两个例子,说明人们通过从中派生出自己的对象,将其用于其他属性。另一种可能是使用中使用的。因此,您所要问的是当发生某些事情时如何更改pixmap?您已经知道如何做到这一点,因为您首先将pixmap设置为某个值。那么,问题是什么呢?如果有任何变化,视觉上,有一个
QImage
备份存储,无论如何都必须部分重新计算,因此,相对而言,更改这些pixmap是一个小问题,实际上是最快的方法。可以计算图像/pixmap,而不是直接存储。您可以使用一种方法来计算修改后的pixmap并将其存储在
QPixmapCache
中,以便快速重用。不要对此类内容使用
paint()
方法。退房我自己还没有使用过它,但它应该可以提供您所需要的任何东西。从我所看到的
QGraphicsItemAnimation
用于设置平移、旋转、缩放和类似效果的动画。我要找的是改变我的
QGraphicsPixmapItem
中实际不透明像素的颜色。谷歌快速搜索给了我一两个例子,说明人们通过从中派生出自己的对象,将其用于其他属性。另一种可能是使用中使用的。因此,您所要问的是当发生某些事情时如何更改pixmap?您已经知道如何做到这一点,因为您首先将pixmap设置为某个值。那么,问题是什么呢?如果有任何变化,视觉上,有一个
QImage
备份存储,无论如何都必须部分重新计算,因此,相对而言,更改这些pixmap是一个小问题,实际上是最快的方法。可以计算图像/pixmap,而不是直接存储。您可以使用一种方法来计算修改后的pixmap并将其存储在
QPixmapCache
中,以便快速重用。