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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Установка, потеря фокуса  (Прочитано 2951 раз)
azin
Гость
« : Октябрь 11, 2012, 16:00 »

Добрый день всем!
Есть процесс MainWindow, который в основном работает в фоновом режиме со скрытым окном.
Иногда он должен показать свое окно поверх всех открытых окон. Метод show может подсунуть его
под активное окно. SetFocus не помогает. Пытался сделать окно вторичным  и открывать как модальное,
тоже не помогает, оно модальное внутри процесса а не на рабочем столе. И еще, при потере фокуса
окно должно исчезать, QEvent::FocusOut тоже не работает.
Заранее благодарю.
Записан
mutineer
Гость
« Ответ #1 : Октябрь 11, 2012, 16:05 »

Поверх всех окон может помочь флаг Qt::WindowStaysOnTopHint
Записан
navrocky
Гипер активный житель
*****
Offline Offline

Сообщений: 817


Погроммист


Просмотр профиля
« Ответ #2 : Октябрь 11, 2012, 16:54 »

1) Можно попробовать еще сделать QWidget::raise.

2) При уходе фокуса с окна, окно получает QEvent::WindowDeactivate.

Инфа к сведению: под виндой перехват фокуса может быть запрещен на уровне системы.
Записан

Гугль в помощь
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #3 : Октябрь 11, 2012, 17:18 »

См. решение здесь.
Записан

Qt 5.11/4.8.7 (X11/Win)
azin
Гость
« Ответ #4 : Октябрь 12, 2012, 08:33 »

Всем спасибо!
Все хорошо.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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