QGraphicsItem и событие hover

Я переопределил hoverEnterEvent, но по какой-то причине он не называется 🙁
Мой метод очень прост на данный момент:

void LinteItem::hoverEnterEvent(QGraphicsSceneHoverEvent * event) {

qDebug("Mouse hovered");
QGraphicsItem::hoverEnterEvent(event);
}

Я установил mouseTracking на вид. Я могу размещать новые LinteItems с помощью mouseMove и т. Д., Поэтому я знаю, что отслеживание работает.

У меня есть следующее в конструкторе:

setFlags(QGraphicsItem::ItemIsSelectable |
QGraphicsItem::ItemIsMovable |
QGraphicsItem::ItemSendsGeometryChanges);
setAcceptHoverEvents(true);

Есть идеи, почему я не получаю события?
Я использую Qt 5.5 кстати

0

Решение

Это должно работать, если ваш основной обычай QGraphicsView Например, обработчики событий мыши вызывают исходные обработчики базового класса.

void CustomGraphicsView::mouseMoveEvent(QMouseEvent *event)
{
// do something...

// send the event to graphics scene and items
QGraphicsView::mouseMoveEvent(event);
}
0

Другие решения


По вопросам рекламы [email protected]