LINUX.ORG.RU

[Qt] Прозрачное окно...

 


0

0

Хочется получить сабж. Причём прозрачное не в смысле что через него всё видно, а в том смысле что все (или почти все) события по этому окну передавались бы окну следующему. Реализуемо ли такое без вмешательств в жизнедеятельность WM'а? Если да то куда смотреть?

★★★★★

И отдельно есть флаг «прозрачности для мыши».

FeiWongReed
()
Ответ на: комментарий от UVV

Это фильтр событий. Но события всё равно вроде бы перехватываются окном. А мне нужно чтобы моё окно знало о событие (например стало бы фиолетовым при наведении на него мышью), но следующее окно считало бы что мышку навели на него. Проще объяснить что я хочу получить в итоге: мне нужно специальное окно, которое будет всегда висеть поверх всех и делать вид что оно не окно, а женщина с большой грудью например (на самом деле часы, но роли это не играет). Работать пользователь будет с чем угодно кроме этого окна, но окно всё таки должно знать о событиях (например стать совсем прозрачным на время когда мышь наведена непосредственно на него). Ещё раз спрашиваю можно ли это реализовать в отрыве от WM?

KblCb ★★★★★
() автор топика
Ответ на: комментарий от KblCb

>>Ещё раз спрашиваю можно ли это реализовать в отрыве от WM?

Ты хочешь какой-то костыль, так что такое навряд ли возможно. Ты можешь либо выставить у окна атрибут X11BypassWindowManagerHint, и тогда твое окно не будет получать эвенты от WM, как ты дальше будешь события ловить - хз. Не майся дурью.

MuZHiK-2 ★★★★
()
Ответ на: комментарий от KblCb

Попробуй установить такой фильтр:
QApplication::instance()->installEventFilter(this);

PS: Сам не проверял работоспособность.

Devix
()
Ответ на: комментарий от I-Love-Microsoft

О! Довольно интересно. Спасибо.

KblCb ★★★★★
() автор топика
Ответ на: комментарий от I-Love-Microsoft

К слову, а в Qt нет обёртки вокруг событий X11? Так чтобы с ними можно было работать как со всеми QEvent'ами?

KblCb ★★★★★
() автор топика

Не знаю как в куте, но в проигрывателе РитмМбокс оповещения так и работают, появляется черное окошко при наведении мышкой оно становится полупрозрачным и можно нажимать сквозь него ;)

Чем смог ;))

OxiD ★★★★
()
Ответ на: комментарий от KblCb

>>К слову, а в Qt нет обёртки вокруг собтий X11? Так чтобы с ними можно было работать как со всеми QEvent'ами?

QApplication::x11EventFilter, QApplication::x11ProcessEvent и XEvent. Покури эти штуки, может пригодятся.

MuZHiK-2 ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.