crossplatform.ru

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


  Ответ в Фокус ввода на виджете?
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
wiz29 Дата 6.10.2010, 10:47
  нашел решение, обрабатывая QEvent::WindowDeactivate получается нужный эффект.
Кликая мышью "мимо" виджета как раз и приходит данное событие.
wiz29 Дата 6.10.2010, 9:40
  я щас и эксперементирую, как решу отпишусь:)
Алексей1153 Дата 6.10.2010, 9:39
  эхъ, в общем без экспериментов трудно что-то говорить, а провести их сейчас немного некогда...
wiz29 Дата 6.10.2010, 9:20
  Мне бы хотелось скрывать по клику "мимо" виджета. Мне не понятно по чему при вызове show() виджет появляется, но фокуса на нем нет, даже если он applicationModal

Тем более таймер, как мне кажется, не оч удачная идея, если виджет может быть скрыт / открыт несколькими способами
Алексей1153 Дата 5.10.2010, 13:51
  по таймеру при зажжённом виджете проверять, где сейчас находится курсор. Раз в полсекунды будет достаточно
wiz29 Дата 5.10.2010, 13:06
  не совсем уловил мысль, зачем таймер?
Алексей1153 Дата 5.10.2010, 13:03
  wiz29, я подправил пост. Там ещё нужно добавить проверку - что главное окно не в фокусе + виджет не в фокусе
wiz29 Дата 5.10.2010, 13:02
  Не QMenu мне не подходит, тк при кликах вне элементов виджета меню он скрывается.
Естьли какойто евент который грубо говоря генерится при изменении позиции виджета в стеке виджетов?


leaveEvent не подойдет, мне нужно скрывать именно при клике вне виджета. Если клика нет скрывать не нужно
Алексей1153 Дата 5.10.2010, 13:00
  це QMenu

или даже любой QWidget с отслеживанием leaveEvent . Если курсор не на фиджете и фокуса нет (проверять по таймеру, к примеру), то скрываем


хм, даже leaveEvent не надо - таймера достаточно
wiz29 Дата 5.10.2010, 12:50
  Добрый день.
Подскажите как сделать. Нужна следующая функциональность виджета: show->открывается поверх всех дочерних окон главного окна, при клике мышкой вне этого виджета нужно его скрыть (т.е. сделать его invisible). как лучше сделать?(через фокус евент не прокатывает)
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 29.3.2024, 16:57