Events |
Здравствуйте, гость ( Вход | Регистрация )
Events |
quarz |
5.10.2010, 2:18
Сообщение
#1
|
Студент Группа: Участник Сообщений: 49 Регистрация: 3.11.2009 Пользователь №: 1202 Спасибо сказали: 5 раз(а) Репутация: 0 |
Есть класс KeyboardItem - это itemGroup, содержащий клавиши клавиатуры.
При нажатии на клавиатуру определяю какая клавиша находилась под мышью и заменяю ее на нажатую. Еще у меня есть маркер, который представляет собой Item, рисующийся поверх клавиатуры. Его родителем является KeyboardItem
Маркер находится всегда выше всех клавиш по оси z. Значит, при клике по нему, событие MousePressEvent должно в первую очередь приходить к маркеру, а не к клавиатуре. А получается так, что событие нажатия никогда не доходит до маркера. В чем я ошибся? |
|
|
quarz |
5.10.2010, 11:54
Сообщение
#2
|
Студент Группа: Участник Сообщений: 49 Регистрация: 3.11.2009 Пользователь №: 1202 Спасибо сказали: 5 раз(а) Репутация: 0 |
return QWidget::keyPressEvent(event); есть это у тебя? да, я вызываю в обработчике QGraphicsItemGroup::mousePressEvent(event). Кстати, если маркер положить на сцену, не прописывая ему родителя, то все работает. Видимо дело в том, что у родителя (KeyboardItem) переопределено mousePressEvent. Но я же вызываю в нем QGraphicsItemGroup::mousePressEvent(event), значит событие должно передаваться и другим Item`ам на сцене, находящимся в этой точке, а оно почему-то не передается. |
|
|
Текстовая версия | Сейчас: 3.10.2024, 23:56 |