унаследованный от QGraphicsScene, назовем его graphicsScene. У него есть сигнал mousePressEvent. На graphicsScene кидаю кастомный виджет, у него тоже есть сигнал mousePressEvent. Суть в том, что при нажатии на виджет его сигнал mousePressEvent не срабатывает, но если нажать быстро два раза, то сработает. Сделал сигнал enterEvent на мой вилжет, который должен заблокировать все сигналы graphicsScene, но это не помогает. Если в заголовочном файле graphicsScene убрать из списка сигналов mousePressEvent, то аналогичный сигнал виджета срабатывает с первого нажатия. Кастомные виджеты кидал и в QMdiArea, и в QFrame, и QScrollWidget, и т.д.. Нигде такой проблемы не было. В какую сторону копнуть можно в данном случае?
добрый день! чтобы переходить к переопределенному методу mousePress виджету на сцене без двойного щелчка (т.е. сразу), нужно пробросить событие из сцены. Пример: void GraphicsScene::mousePressEvent(QGraphicsSceneMouseEvent *event) { ... тут код для сцены, он тоже будет выполняться (вот это нужно сделать) QGraphicsScene::mousePressEvent(event); в этом случае событие мыши сразу получит первый элемент на сцене в выбранной точке }
Обсуждают сегодня