Здравствуйте, гость ( Вход | Регистрация )
|
ars |
19.4.2010, 20:35
Сообщение
#1
|
|
Студент ![]() Группа: Новичок Сообщений: 10 Регистрация: 16.2.2010 Пользователь №: 1467 Спасибо сказали: 0 раз(а) Репутация: 0
|
Добрый день! Пишу собственный виджет. Не пойму как обработать событие клика не на этом виджете. Условно говоря, мой виджет встраивается в панель в главном окне приложения, при клике НЕ на нем, то есть на любой другой области внутри этого главного окна или даже вне этого главного окна, должно производиться некоторое действие. В качестве примера подобного функционала можно привести закрытие в ComboBox'е списка при клике на любую часть экрана. Пробовал ставить фильтр события на все родительские окна, во первых очень коряво получается, а во вторых, при этом не получается обрабатывать клик на неродительские окна (соседние в дереве окон). Кто-нибудь знает как можно это реализовать?
|
|
|
|
![]() |
|
kwisp |
20.4.2010, 11:09
Сообщение
#2
|
|
астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23
|
Цитата(Litkevich Yuriy @ 20.4.2010, 11:03) Link Т.е. leaveEvent(QEvent*) уже отработал, но это ни к чему не должно приводить я это и имел ввиду. в leaveEvent(QEvent*) устанавливать флаг - мышь за пределами виджета в enterEvent(QEvent*) сбрасывать. grabMouse() передаст щелчки мыши в желаемый виджет, в обработчиках щелчков мы будем проверять флаг и в соответсвии со значением действовать. |
|
|
|
ars Обработка события клика НЕ на виджете 19.4.2010, 20:35
Litkevich Yuriy Цитата(ars @ 20.4.2010, 0:35) закрытие в ... 19.4.2010, 21:38
ars По поводу потери фокуса -- сомневаюсь. Простой при... 19.4.2010, 22:19
Litkevich Yuriy Цитата(ars @ 20.4.2010, 2:19) значит фоку... 19.4.2010, 22:41
ars Он собирается перерисовываться и скрывать дочерние... 19.4.2010, 22:44
Litkevich Yuriy Цитата(ars @ 20.4.2010, 2:44) Он собирает... 19.4.2010, 22:52
ars 0.о
Кошмар
Интересно, стоит считать эти 2 вариан... 19.4.2010, 22:57
BRE Если хочется получать все события от мышки, даже к... 20.4.2010, 7:09
kwisp ars,
к предложенному варианту BRE
Цитата(BRE ... 20.4.2010, 7:38
Litkevich Yuriy Цитата(kwisp @ 20.4.2010, 11:38) можно до... 20.4.2010, 10:03![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 7.1.2026, 13:37 |