質問

「ホバーエフェクト」を追加する必要があります QPixmaps に追加されました QGraphicsScene. 。私は「強調」したいと思います QPixmap ユーザーがその上にhoverdingしたときに、中途半端な透明な白色でそれを埋めることによって。可能な限り、私は使用を避けたい setPixmap(QPixmap) 私のpixmapを既製の「ホバーイメージ」と交換する方法。これが私がこれまでに持っているものです:

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スタイルから知っていることを適応させています)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top