мои QGraphicsitems состоят из сложных форм.Поэтому я проверяю в mousePressEvent, находится ли курсор мыши рядом с этой формой, и устанавливаю event-> ignore (), когда он не находится рядом, и ничего не делаю.
Но event-> ignore () не работает с mouseHoverEvent.Поэтому, если я игнорирую hoverMoveEvent (), я бы хотел переслать сигнал другим потомкам.Есть ли простой способ сделать это?
В противном случае я подумал сделать это в родительском и проверить все расстояния, а затем наведите курсор на этот элемент?
void XYCurvePrivate::hoverMoveEvent(QGraphicsSceneHoverEvent* event){
QByteArray ba = q->path().toLocal8Bit();
const char *c_str2 = ba.data();
DEBUG("HOVER curve "<< c_str2);
if( !q->activateCurve(event->pos(),pow(linePen.width(),2)*10)){
m_hovered = false;
emit q->unhovered();
update();
QGraphicsItem::hoverMoveEvent(event);
return;
}
m_hovered = true;
emit q->hovered();
update();
}