LINUX.ORG.RU

QT fullscreen application and subwindows

 ,


0

1

Всем привет и здравствуйте. Сразу прошу прощения, что мой первый пост с криком о помощи)

Возникла небольшая проблема которую не могу ни как побороть. Есть у меня приложение написанное на Qt c основным окном (app) открывающимся на весь экран app.showFullScreen().

В программе по мере необходимости приходиться создавать еще окна, но обычные, не во весь экран, допустим:

class NewWindow : public QDialog

newWindow = new NewWindow(app);

Проблема в том, что при открытии нового окна оно ловит фокус и отображает верхнюю и нижнюю панель ubuntu на фоне fullscreen приложения. Как можно это побороть?

setFocusPolicy(Qt::NoFocus), setAttribute(Qt::WA_ShowWithoutActivating) работать не хотят.

Как я понимаю, это фичи оконного менеджера. Из Qt кроссплатформенно это решить вряд ли получится.

trex6 ★★★★★ ()

Плюсую trex6. В debian squeeze таких багов не наблюдал...

solovey ★★ ()

Подозреваю, что UI этой программы идёт вразрез с HIG unity. Окна должны отображаться поверх без фокуса или просто висеть где-то сзади? Во втором случае unity не обязана их конкретно обрабатывать.

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

Они должны постоянно висеть поверх основной программы, и неважно с фокусом они или без. Просто что вот системные панели эти начинают отображаться... (

leonardo ()

Ммм, такой вопрос по юзабилити. А зачем делать вообще окна, если приложение всегда в fs ? Не удобней менять содержимое главного окна? В крайнем случае можешь взять опыт из Firefox - там табы появляются при наведении в шапку экрана (обидно, но Opera до сих пор этого не умеет).

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

А зачем делать вообще окна, если приложение всегда в fs ? Не удобней менять содержимое главного окна?

+1. Или fs или диалоги.

Pavval ★★★★★ ()
newWindow = new NewWindow(app);

А если попробовать в качестве родителя - главное окно?

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