Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: izoomer от Октябрь 30, 2006, 12:37



Название: приложение QT во весь экран
Отправлено: izoomer от Октябрь 30, 2006, 12:37
QT-4.2 . Linux
подскажите , как запустить приложение во весь экран, т.е. без заголовков и иконок служебных. То есть на весь экран.


Название: приложение QT во весь экран
Отправлено: Volodia от Октябрь 30, 2006, 13:10
Привет!
Попробуй в main.cpp, сделать не mainWin->show() а mainWin->showFullScreen(). У меня получилось :)
Я использую qt 3.3.3.


Название: приложение QT во весь экран
Отправлено: bigirbis от Октябрь 30, 2006, 14:22
Не забудь еще в конструкторе воспользоваться Qt::FramelessWindowHint


Название: приложение QT во весь экран
Отправлено: izoomer от Октябрь 30, 2006, 14:41
app.showFullScreen() разворачивает на весь экран, но остается строка заголовка окна со служебными иконками. Как убрать эту строку?

добавлено спустя 6 минут:

 прошу прощения, не то сделал.
для кнопки showFullScreen() работает.
А если у меня нет главного окна программы, можно ли для QTAplication указать что на весь экран ?


Название: приложение QT во весь экран
Отправлено: bigirbis от Октябрь 30, 2006, 14:48
Да, этот метод от QWidget растет


Название: приложение QT во весь экран
Отправлено: izoomer от Октябрь 30, 2006, 14:50
сделал объект window , но showFullScreen() все равно делает строку вверху с title и служеюными иконками "закрытия" и "служебного меню"  а нужно без них .
Подскажите плиз


Название: приложение QT во весь экран
Отправлено: bigirbis от Октябрь 30, 2006, 14:56
Это платформозависимая фишка, к тому же от темы зависит.
Почитай, что пишет Ассистант о применении showFullScreen().
Там все достаточно подробно описано.


Название: приложение QT во весь экран
Отправлено: izoomer от Октябрь 30, 2006, 15:14
почитал.
Я так понял зависит от менеджера окон , можно установить опцию Qt::X11BypassWindowManagerHint

я только начинаю в QT работать , подскажите как её применить


Название: приложение QT во весь экран
Отправлено: bigirbis от Октябрь 30, 2006, 15:30
Код:
Я так понял зависит от менеджера окон , можно установить опцию Qt::X11BypassWindowManagerHint

я только начинаю в QT работать , подскажите как её применить

Код:

QWidget * mainWidget = new QWidget( NULL, Qt::X11BypassWindowManagerHint );


Название: не помогло :-(
Отправлено: izoomer от Октябрь 30, 2006, 23:50
Код:


QWidget * window = new QWidget (NULL, Qt::X11BypassWindowMangerHint | Qt::FramelessWindowHint);
window->showFullScreen();


не работает этот код, все равно с бордюром и заголовком.

вот что есть в свойствах по поводу бардюров

Код:


Qt::X11BypassWindowManagerHint

Bypass the window manager completely. This results in a borderless window that is not managed at all (i.e., no keyboard input unless you call QWidget::activateWindow() manually).

Qt::FramelessWindowHint

Produces a borderless window. The user cannot move or resize a borderless window via the window system. On X11, the result of the flag is dependent on the window manager and its ability to understand Motif and/or NETWM hints. Most existing modern window managers can handle this.

менеджер окон twm

разумеется если запускать иксы без менеджера окон то все ОК, но хотелось бы работать все таки с twm.


Название: приложение QT во весь экран
Отправлено: izoomer от Ноябрь 02, 2006, 23:26
вот что выходит
если использовать

Код:

window->show();

то все ок, рамок и заголовка у окна нет

если же
Код:

window->showFullScreen();


то есть рамка, даже не смотря на опцию X11BypassWindowManger ....