crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

ars
  опции профиля:
сообщение 19.4.2010, 20:35
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 10
Регистрация: 16.2.2010
Пользователь №: 1467

Спасибо сказали: 0 раз(а)




Репутация:   0  


Добрый день! Пишу собственный виджет. Не пойму как обработать событие клика не на этом виджете. Условно говоря, мой виджет встраивается в панель в главном окне приложения, при клике НЕ на нем, то есть на любой другой области внутри этого главного окна или даже вне этого главного окна, должно производиться некоторое действие. В качестве примера подобного функционала можно привести закрытие в ComboBox'е списка при клике на любую часть экрана. Пробовал ставить фильтр события на все родительские окна, во первых очень коряво получается, а во вторых, при этом не получается обрабатывать клик на неродительские окна (соседние в дереве окон). Кто-нибудь знает как можно это реализовать?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 19.4.2010, 22:52
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(ars @ 20.4.2010, 2:44) *
Он собирается перерисовываться и скрывать дочерние элементы
ну тогда, могу такой вариант предложить, коль скоро фокуса может вовсе не иметь:
1) Использовать стороннюю библиотеку Qxt, в ней есть глобальная работа с событиями клавиатуры и мыши

2) с использованием только Qt, не уверен, что получится
a)в своём виджете заполучить указательна окно, в котором он помещён (циклически перебрать родителей)
b )узнать у окна геометрию
c)наложить на окно прозрачный виджет
d)сделать этот виджет одновременно и прозрачным для мыши и обрабатывающим события мыши (не уверен в этом месте, возможны ли оба варианта)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ars
  опции профиля:
сообщение 19.4.2010, 22:57
Сообщение #3


Студент
*

Группа: Новичок
Сообщений: 10
Регистрация: 16.2.2010
Пользователь №: 1467

Спасибо сказали: 0 раз(а)




Репутация:   0  


0.о
Кошмар :)

Интересно, стоит считать эти 2 варианта несовершенством Qt или просто отсутствием необходимости делать то, что я предложил....
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 10.6.2025, 19:20