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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Одно топовое окно повех других топовых ок  (Прочитано 2991 раз)
yarick
Гость
« : Ноябрь 01, 2012, 11:37 »

В моей прогамме есть окна-виджеты, которые я делаю топовыми через
Код:
setWindowFlags(Qt::WindowStaysOnTopHint);
Но теперь я добавил ещё один топовый виджет, фон которого прозрачен и он растянут на весь экран. На нём я рисую, например, стрелочки из одного виджета в другой (вспомогательные элементы).
Но если нажать на топовый виджет-окно, то он отобразится поверх того топового виджета, где стрелочки рисуются. А мне нужно чтобы виджет с прозрачным фоном и нарисованным ВСЕГДА был поверх других топовых виджетов.

Тут есть два решения - либо, если на QT есть такая функция, установить супертоповый виджет (хотя мне кажется что  такой нету).
Либо как-то отслеживать z-индексы топовых виджетов и в случае, если какой-то виджет выплыл выше топового - перемещать топовый поверх него. Как это можно реализовать? Как вообще с оконной системой работать?

И ещё вопрос - как сделать чтобы клики сквозь то окно прозрачное проходили, сквозь нарисованное на нём? Это важно очень
« Последнее редактирование: Ноябрь 01, 2012, 11:48 от yarick » Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #1 : Ноябрь 01, 2012, 11:42 »

Если прозрачному окну задал родителя, то не задавай.
Записан

Qt 5.11/4.8.7 (X11/Win)
yarick
Гость
« Ответ #2 : Ноябрь 01, 2012, 11:47 »

В том то и дело, что не задавал, везде 0 по умлочанию
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



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

Тогда выстави флаг Qt::FramelessWindowHint.
Если пишешь под X-ы, то ещё добавь Qt::X11BypassWindowManagerHint.
« Последнее редактирование: Ноябрь 01, 2012, 11:52 от GreatSnake » Записан

Qt 5.11/4.8.7 (X11/Win)
navrocky
Гипер активный житель
*****
Offline Offline

Сообщений: 817


Погроммист


Просмотр профиля
« Ответ #4 : Ноябрь 01, 2012, 12:03 »

Что-то не то делаешь опять. Лучше делай рисование своих блоков со стрелочками в одном окне. Если нужна прозрачность для кликов вне стрелочек и блоков - корректируй маску у этого окна.
Записан

Гугль в помощь
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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