Я переопределил 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 кстати
Это должно работать, если ваш основной обычай QGraphicsView
Например, обработчики событий мыши вызывают исходные обработчики базового класса.
void CustomGraphicsView::mouseMoveEvent(QMouseEvent *event)
{
// do something...
// send the event to graphics scene and items
QGraphicsView::mouseMoveEvent(event);
}