Формулировка задачи следующая:
настроить виджет, так чтобы он был всегда поверх всех окон, у него нельзя было бы изменять размер, нельзя закрыть или скрыть.
У меня Kubuntu 12.10
До конца задачу решить не удалось. Перепробовал всякие разные советы, с разных форумов, в том числе и с нашего (тема поднималась).
Однако, не работает как надо.
setWindowFlags(Qt::CustomizeWindowHint | Qt::WindowTitleHint | Qt::WindowStaysOnTopHint);
layout()->setSizeConstraint(QLayout::SetFixedSize);
Такая связка позволяет сделать всё, кроме запрета сворачивания. (т.е. остаётся только эта кнопка в title bar)
Как скрыть эту кнопку - не знаю...
Бог с ним, со скрытием кнопки. Как её задизэйблить или сделать так, чтобы она не работала - тоже не знаю.
Если пробовать игнорить события QEvent::WindowStateChang или QEvent::Hide, толку никакого - виджет сначала скрывается а потом только попадаю в обработчики
события (причём неважно будь то event, changeEvent или fllterEvent (это в случае, если на виджет сделать installEventFilter))
Видимо, я чего-то не догоняю, наставьте на путь истинный.
Спасибо