QPixmap effet de vol stationnaire?
Question
Je dois ajouter quelque QPixmaps
ajouté à un QGraphicsScene
un « effet de vol stationnaire ». Je voudrais « highlight » mon QPixmap
en le remplissant avec une couleur blanche transparente à mi-chemin lorsque passe la souris dessus dessus. Si possible, je veux éviter d'utiliser la méthode de setPixmap(QPixmap)
pour échanger mon pixmap avec un cadeau original « image hover ».
Voilà ce que j'ai à ce jour:
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) {
}
}
Mise à jour: il fait connaître les événements de la manière suivante:)
La solution
Si vous connaissez les coordonnées du pixmap, vous pouvez faire:
graphicsscene.addRect(pixmap.rect(),
new QPen(),
new QBrush(new QColor(255, 255, 255, 128)));
pour créer un rectangle blanc transparent au-dessus du pixmap.
(Désolé si mon Java est mauvaise, je sais ce que j'adapte le style de PyQt).
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow