Используя QT в Linux, есть ли способ отключить & quot; Всегда сверху & quot ;?

Моя проблема: приложение QT 4 C ++ для запуска в Linux должно блокировать все виды рутинных функций графического интерфейса. В частности, я хочу удалить как можно большую часть функциональности строки заголовка.

Я смог сделать большую часть этого с помощью
setWindowFlags (Qt :: Window | Qt :: CustomizeWindowHint | Qt :: WindowTitleHint);

Но в левом верхнем углу строки заголовка остается выпадающее меню. Большинство внутренних функций отключены (без min, max или close), но флажок «всегда сверху» включен.

Могу ли я отключить флажок «Всегда сверху» через QT или мне нужно найти обходной путь ОС?

0

Решение

Заголовок окна обрабатывается диспетчером окон. Qt не может изменить заголовок окна напрямую. Он может использовать только разные подсказки и собственный API, чтобы попросить оконный менеджер сделать то, что вы хотите (удалить определенные кнопки и т. Д.). Оконный менеджер может отклонить ваш запрос. Поэтому единственное 100% работающее решение — это использовать Qt :: FramelessWindowHint и рисовать собственные декорации окон вручную.

0

Другие решения

Других решений пока нет …