Название: Одно топовое окно повех других топовых ок Отправлено: yarick от Ноябрь 01, 2012, 11:37 В моей прогамме есть окна-виджеты, которые я делаю топовыми через
Код: setWindowFlags(Qt::WindowStaysOnTopHint); Но если нажать на топовый виджет-окно, то он отобразится поверх того топового виджета, где стрелочки рисуются. А мне нужно чтобы виджет с прозрачным фоном и нарисованным ВСЕГДА был поверх других топовых виджетов. Тут есть два решения - либо, если на QT есть такая функция, установить супертоповый виджет (хотя мне кажется что такой нету). Либо как-то отслеживать z-индексы топовых виджетов и в случае, если какой-то виджет выплыл выше топового - перемещать топовый поверх него. Как это можно реализовать? Как вообще с оконной системой работать? И ещё вопрос - как сделать чтобы клики сквозь то окно прозрачное проходили, сквозь нарисованное на нём? Это важно очень Название: Re: Одно топовое окно повех других топовых окон Отправлено: GreatSnake от Ноябрь 01, 2012, 11:42 Если прозрачному окну задал родителя, то не задавай.
Название: Re: Одно топовое окно повех других топовых окон Отправлено: yarick от Ноябрь 01, 2012, 11:47 В том то и дело, что не задавал, везде 0 по умлочанию
Название: Re: Одно топовое окно повех других топовых ок Отправлено: GreatSnake от Ноябрь 01, 2012, 11:50 Тогда выстави флаг Qt::FramelessWindowHint.
Если пишешь под X-ы, то ещё добавь Qt::X11BypassWindowManagerHint. Название: Re: Одно топовое окно повех других топовых ок Отправлено: navrocky от Ноябрь 01, 2012, 12:03 Что-то не то делаешь опять. Лучше делай рисование своих блоков со стрелочками в одном окне. Если нужна прозрачность для кликов вне стрелочек и блоков - корректируй маску у этого окна.
|