gpt4 book ai didi

c++ - 处理重叠图形项的 mousePressEvent

转载 作者:太空宇宙 更新时间:2023-11-04 11:49:42 24 4
gpt4 key购买 nike

我有两个不同的类继承QGraphicsItem。它们都有各自特定的 mousePressEvent 函数。当这些项目在场景中重叠时,我只想执行其中一个项目的 mousePressEvent。我怎样才能做到这一点?

void PpiTargetItem::hoverEnterEvent(QGraphicsSceneHoverEvent *event) {
mTargetColor = Qt::red;
event->setAccepted(true);
}

// Bigger Item
void CriticalRegion::hoverEnterEvent(QGraphicsSceneHoverEvent *event) {
LOGGER_START
mCorners[0] = new CornerGrabber(this, 0);
mCorners[1] = new CornerGrabber(this, 1);
mCorners[2] = new CornerGrabber(this, 2);
mCorners[3] = new CornerGrabber(this, 3);

mCorners[0]->installSceneEventFilter(this);
mCorners[1]->installSceneEventFilter(this);
mCorners[2]->installSceneEventFilter(this);
mCorners[3]->installSceneEventFilter(this);

setCornerPositions();
event->setAccepted(true);
LOGGER_END
}

最佳答案

继承QGraphicsItem并实现功能时

void QGraphicsItem::mousePressEvent(QGraphicsSceneMouseEvent * event)

当想要处理事件的对象已经这样做时,调用event->accept()。如果这对您不起作用,请将示例代码添加到您的问题中。

关于c++ - 处理重叠图形项的 mousePressEvent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18850288/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com