Russian Qt Forum
Апрель 25, 2024, 12:10 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Окна не меняющие фокус  (Прочитано 2454 раз)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« : Май 11, 2015, 13:11 »

Добрый день

Ну вот нужны такие, чтобы при нажатии в это окно фокус ему не передавался. В четверке + OSX проблем не было - просто флаг Qt::Tool. Но в пятерке это не имеет нужного эффекта (ни на OSX ни на Вындоуз). Как-то там суетиться и возвращать фокус взад - ужасный "костыль"

И я уж было совсем смирился, ну что поделать "нельзя так нельзя". НО вот сегодня, совершенно случайно, в рез-те совершенно др манипуляций, я получаю именно то что нужно: при нажатии мыша окно вылазит наверх, но фокус остается на прежнем. Конечно распечатал флажки и атрибуты "до" и "после". Они совершенно одинаковы. Где же порылась собака?

Спасибо   

Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #1 : Май 11, 2015, 13:55 »

Полез в исходники и нашел Qt::WindowDoesNotAcceptFocus - и вроде работает. Во блин, как я его раньше не видел Непонимающий

Но как я умудрился получить такое поведение ничего не зная об этом флажке? Ничего плохого вроде не делал - просто переназначал окну парента. Смотрю...
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #2 : Май 12, 2015, 12:58 »

Поюзал Qt::WindowDoesNotAcceptFocus, приемлемо, но недоработано, отсыпает в консоль варнинги. И неудобно что нельзя сделать его активным если возникла необходимость, т.е. не проходит для него setActiveWindow.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.048 секунд. Запросов: 22.