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, 13:28
Сообщение
#2
|
Студент Группа: Участник Сообщений: 49 Регистрация: 3.11.2009 Пользователь №: 1202 Спасибо сказали: 5 раз(а) Репутация: 0 |
Попробую описать проще:
Есть класс, производный от QGraphicsItemGroup. В нем переопределен MousePressEvent. в эту группу добавлен класс, производный от QGraphicsItem, в котором тоже переоределен MousePressEvent. Надо чтоб группа и Item ловили только свои события. Т.е. если я кликну мышью над Item`ом - событие возникло у него, а если вне этого Item`а, на группе - то событие возникло у группы. Сейчас же все события приходят в группу. Сообщение отредактировал kwisp - 5.10.2010, 13:40 |
|
|
Текстовая версия | Сейчас: 21.12.2024, 15:02 |