class KeyboardItem: public QObject, public QGraphicsItemGroup
{
Q_OBJECT
...
private:
void mousePressEvent(QGraphicsSceneMouseEvent *event);
...
};
void KeyboardItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
{
//рисуем нажатую клавишу
// ....
QGraphicsItemGroup::mousePressEvent(event);
}
При нажатии на клавиатуру определяю какая клавиша находилась под мышью и заменяю ее на нажатую.
Еще у меня есть маркер, который представляет собой Item, рисующийся поверх клавиатуры. Его родителем является KeyboardItem
class MarkerItem: public QGraphicsSvgItem
{
...
private:
void mousePressEvent(QGraphicsSceneMouseEvent *event);
...
}
Маркер находится всегда выше всех клавиш по оси z. Значит, при клике по нему, событие MousePressEvent должно в первую очередь приходить к маркеру, а не к клавиатуре. А получается так, что событие нажатия никогда не доходит до маркера.
В чем я ошибся?