Russian Qt Forum
Мая 21, 2025, 13:12
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
Окна не меняющие фокус
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Окна не меняющие фокус (Прочитано 2703 раз)
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Окна не меняющие фокус
«
:
Мая 11, 2015, 13:11 »
Добрый день
Ну вот нужны такие, чтобы при нажатии в это окно фокус ему не передавался. В четверке + OSX проблем не было - просто флаг Qt::Tool. Но в пятерке это не имеет нужного эффекта (ни на OSX ни на Вындоуз). Как-то там суетиться и возвращать фокус взад - ужасный "костыль"
И я уж было совсем смирился, ну что поделать "нельзя так нельзя". НО вот сегодня, совершенно случайно, в рез-те совершенно др манипуляций, я получаю именно то что нужно: при нажатии мыша окно вылазит наверх, но фокус остается на прежнем. Конечно распечатал флажки и атрибуты "до" и "после". Они совершенно одинаковы. Где же порылась собака?
Спасибо
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Окна не меняющие фокус
«
Ответ #1 :
Мая 11, 2015, 13:55 »
Полез в исходники и нашел Qt::WindowDoesNotAcceptFocus - и вроде работает. Во блин, как я его раньше не видел
Но как я умудрился получить такое поведение ничего не зная об этом флажке? Ничего плохого вроде не делал - просто переназначал окну парента. Смотрю...
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Окна не меняющие фокус
«
Ответ #2 :
Мая 12, 2015, 12:58 »
Поюзал Qt::WindowDoesNotAcceptFocus, приемлемо, но недоработано, отсыпает в консоль варнинги. И неудобно что нельзя сделать его активным если возникла необходимость, т.е. не проходит для него setActiveWindow.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...