Вопрос
Мне нужно добавить «эффект падения» к некоторым QPixmaps
добавлен в QGraphicsScene
. Анкет Я хотел бы «выделить» мой QPixmap
Заполняя его прозрачным белым цветом на полпути, когда пользователь колеблется над ним. Если вообще возможно, я хочу избежать использования setPixmap(QPixmap)
Метод обмена моей Pixmap с помощью предварительного «Hover Image». Это то, что у меня есть до сих пор:
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) {
}
}
Обновлять: Кстати, он захватывает события :)
Решение
Если вы знаете координаты PixMap, вы можете сделать:
graphicsscene.addRect(pixmap.rect(),
new QPen(),
new QBrush(new QColor(255, 255, 255, 128)));
Чтобы создать прозрачный белый прямоугольник поверх PixMap.
(Извините, если моя Java плохая, я адаптирую то, что знаю из стиля Pyqt).
Не связан с StackOverflow