Pregunta
Necesito agregar un "efecto de desplazamiento" a algunos QPixmaps
agregado a un QGraphicsScene
. Me gustaría "resaltar" mi QPixmap
Al llenarlo con un color blanco transparente a mitad de camino, cuando el usuario se cierne sobre él. Si es posible, quiero evitar usar el setPixmap(QPixmap)
Método para intercambiar mi PIXMAP con una "Imagen de desplazamiento" prefabricada. Esto es lo que tengo hasta ahora:
import com.trolltech.qt.gui.QGraphicsPixmapItem;
import com.trolltech.qt.gui.QGraphicsSceneHoverEvent;
import com.trolltech.qt.gui.QPixmap;
public class SelectablePixmapItem extends QGraphicsPixmapItem {
private QPixmap pixmap;
public SelectablePixmapItem(QPixmap pixmap) {
super(pixmap);
setAcceptHoverEvents(true);
setItemPixmap(pixmap);
}
private void setItemPixmap(QPixmap pixmap) {
this.pixmap = pixmap;
}
@Override
public void hoverEnterEvent(QGraphicsSceneHoverEvent e) {
}
@Override
public void hoverLeaveEvent(QGraphicsSceneHoverEvent e) {
}
}
Actualizar: Captura los eventos por cierto :)
Solución
Si conoce las coordenadas del PIXMAP, puede hacer:
graphicsscene.addRect(pixmap.rect(),
new QPen(),
new QBrush(new QColor(255, 255, 255, 128)));
Para crear un rectángulo blanco transparente en la parte superior del PIXMAP.
(Lo siento si mi Java es malo, estoy adaptando lo que sé del estilo Pyqt).
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow