Здравствуйте, гость ( Вход | Регистрация )
|
Trisch |
28.2.2012, 4:58
Сообщение
#1
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 379 Регистрация: 30.1.2012 Из: Запорожье Пользователь №: 3169 Спасибо сказали: 24 раз(а) Репутация: 0
|
Имеется сцена и на ней дочерние виджеты. При нажатии мышкой на сцене "события мыши работают", а при нажатии на дочерном виджете, нет.
вот код "событий мыши" Как заставить работать "события мыши" при нажатии на дочерний виджет? |
|
|
|
![]() |
|
BRE |
28.2.2012, 6:30
Сообщение
#2
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44
|
Это потому, что дочерний виджет сам обрабатывает это событие.
Для отлова таких событий можно использовать механизм eventFilter. В документации ищется по методу installEventFilter, подробно все расписано с примерами. |
|
|
|
|
Trisch |
8.3.2012, 1:20
Сообщение
#3
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 379 Регистрация: 30.1.2012 Из: Запорожье Пользователь №: 3169 Спасибо сказали: 24 раз(а) Репутация: 0
|
Цитата(BRE @ 28.2.2012, 7:30) Link Это потому, что дочерний виджет сам обрабатывает это событие. Для отлова таких событий можно использовать механизм eventFilter. В документации ищется по методу installEventFilter, подробно все расписано с примерами. ну я применил данный метод вот таким вот образом: В итоге программа неожиданно завершается, при этом не выдает ни каких ошибок. Что тут не так? P.s. в строчке "pEllipseItem->installSceneEventFilter(pItem);" я pItem влепил, скорее всего наугад, чем из логических соображений((( |
|
|
|
|
RazrFalcon |
8.3.2012, 1:31
Сообщение
#4
|
![]() Zombie Mod ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212
|
installEventFilter, а не installSceneEventFilter
|
|
|
|
|
Trisch |
8.3.2012, 1:38
Сообщение
#5
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 379 Регистрация: 30.1.2012 Из: Запорожье Пользователь №: 3169 Спасибо сказали: 24 раз(а) Репутация: 0
|
Цитата(RazrFalcon @ 8.3.2012, 2:31) Link installEventFilter, а не installSceneEventFilter при использовании installEventFilter выдает ошибку: error: 'class QGraphicsEllipseItem' has no member named 'installEventFilter' и как я прочитал в документации эти функции, вроде, аналогичные, ток применяются к различным виджетам. Ну может я что-то не так понял((( |
|
|
|
|
RazrFalcon |
8.3.2012, 2:12
Сообщение
#6
|
![]() Zombie Mod ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212
|
Так вам нужно отловить где? На виджете или на Graphic итеме?
Что вы вообще хотите сделать? |
|
|
|
Trisch События мыши 28.2.2012, 4:58
Trisch Цитата(RazrFalcon @ 8.3.2012, 3:12) Так в... 8.3.2012, 10:47
Litkevich Yuriy Цитата(Trisch @ 28.2.2012, 6:58) Имеется ... 8.3.2012, 11:10
Trisch Цитата(Litkevich Yuriy @ 8.3.2012, 12:10)... 8.3.2012, 12:10
Trisch Тогда перефразирую вопрос))
В общем имеется сцена... 13.3.2012, 22:06![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 16.12.2025, 11:55 |