![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
ars |
![]()
Сообщение
#1
|
Студент ![]() Группа: Новичок Сообщений: 10 Регистрация: 16.2.2010 Пользователь №: 1467 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Добрый день! Пишу собственный виджет. Не пойму как обработать событие клика не на этом виджете. Условно говоря, мой виджет встраивается в панель в главном окне приложения, при клике НЕ на нем, то есть на любой другой области внутри этого главного окна или даже вне этого главного окна, должно производиться некоторое действие. В качестве примера подобного функционала можно привести закрытие в ComboBox'е списка при клике на любую часть экрана. Пробовал ставить фильтр события на все родительские окна, во первых очень коряво получается, а во вторых, при этом не получается обрабатывать клик на неродительские окна (соседние в дереве окон). Кто-нибудь знает как можно это реализовать?
|
|
|
![]() |
Litkevich Yuriy |
![]()
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Он собирается перерисовываться и скрывать дочерние элементы ну тогда, могу такой вариант предложить, коль скоро фокуса может вовсе не иметь:1) Использовать стороннюю библиотеку Qxt, в ней есть глобальная работа с событиями клавиатуры и мыши 2) с использованием только Qt, не уверен, что получится a)в своём виджете заполучить указательна окно, в котором он помещён (циклически перебрать родителей) b )узнать у окна геометрию c)наложить на окно прозрачный виджет d)сделать этот виджет одновременно и прозрачным для мыши и обрабатывающим события мыши (не уверен в этом месте, возможны ли оба варианта) |
|
|
ars |
![]()
Сообщение
#3
|
Студент ![]() Группа: Новичок Сообщений: 10 Регистрация: 16.2.2010 Пользователь №: 1467 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
0.о
Кошмар ![]() Интересно, стоит считать эти 2 варианта несовершенством Qt или просто отсутствием необходимости делать то, что я предложил.... |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 10.6.2025, 19:20 |