Russian Qt Forum
Май 06, 2024, 02:02 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Нужен ли Qt оконный менеджер? Linux.  (Прочитано 8876 раз)
QCasper
Гость
« : Март 20, 2008, 15:32 »

Собсно сабж. Нет же такого понятия, как Qt для linux? Есть понятие Qt для X11. Так вот достаточно ли для полноценной работы Qt приложений (с GUI) этого самого X11. Или оконный менеджер тоже обязателен?
Записан
Steven_Orko
Гость
« Ответ #1 : Март 20, 2008, 15:59 »

Qt все равно, есть он или его нет.
Вопрос из серии:" А нужен ли стандартной графической программе оконный менеджер?"
В общен случае эта программа вообще не должна знать, о том, что есть какой-то оконный менеджер. Неважно, использует ли она либу Qt или нет.

Другое дело, что можно самому на Qt написать оконный менеджер. )))
Записан
QCasper
Гость
« Ответ #2 : Март 20, 2008, 22:52 »

Вы, вероятно, не правильно поняли вопрос. Я не спрашиваю, обязательно ли программа должна знать о существовании оконного менеджера. Я спрашиваю, нужен ли для её корректной работы оконный менеджер. Программа вобщем-то и не знает, что она на компе выполняется, но тем не менее комп (как частный случай) для этого необходим.
Записан
ритт
Гость
« Ответ #3 : Март 20, 2008, 23:55 »

я думаю, работать будет и без вм, но вряд ли программа сможет поднимать новые диалоги, ресайзиться, сворачиваться и т.д. (то, что присуще окнам)
во всяком случае, так ведут себя простые иксовые программы, запущенные без вм
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #4 : Март 21, 2008, 02:42 »

Цитировать
Нужен ли Qt оконный менеджер? Linux.
а в связи с чем такой вопрос?
если хочется облегчить Линукс, то оконных менеджеров простых достаточно много и идут в комплекте если не со всеми дистрибутивами, дак со многоими,
а Константин прав, работать будет, т.к. менеджер отвечает за манипуляцию нескольких окон, без него будет по сути во весь экран, и диалоги (модальные/немодальные), видимо, тоже будут во весь экран.
Записан

Юра.
vregess
Гость
« Ответ #5 : Март 21, 2008, 07:26 »

без него будет по сути во весь экран, и диалоги (модальные/немодальные), видимо, тоже будут во весь экран.
это вряд ли. окна будут своего размера.

попробуй
Код:
xinit xterm
Записан
Steven_Orko
Гость
« Ответ #6 : Март 21, 2008, 11:46 »

без него будет по сути во весь экран, и диалоги (модальные/немодальные), видимо, тоже будут во весь экран.
это вряд ли. окна будут своего размера.

Абсолютно точно. Окна будут именно такими, какими их создает приложение. Только вот они не будут иметь оформление. А во остальном... все будет также. И ресайзится оно будет, и скрываться, но только программно. Пользователь не сможет управлять окнами, на то это и менеджер окон.
Так что, как я уже писал ( именно ВЫ не поняли мой ответ) Qt не нужен менеджер окон. Так же не нужен, как не нужен плагин для работы с доп. форматами изображений или плагин-драйвер к СУБД. Наличие определенных компонентом, их необходимость определяет разработчик ПО, т.е. ВЫ!
Если Вам надо, чтобы пользователь имел возможность манипулировать окнами Вашего приложения, то ВМ нужен, в противном случае нет.
Записан
QCasper
Гость
« Ответ #7 : Март 21, 2008, 20:40 »

Абсолютно точно. Окна будут именно такими, какими их создает приложение. Только вот они не будут иметь оформление. А во остальном... все будет также. И ресайзится оно будет, и скрываться, но только программно. Пользователь не сможет управлять окнами, на то это и менеджер окон.
Так что, как я уже писал ( именно ВЫ не поняли мой ответ) Qt не нужен менеджер окон. Так же не нужен, как не нужен плагин для работы с доп. форматами изображений или плагин-драйвер к СУБД. Наличие определенных компонентом, их необходимость определяет разработчик ПО, т.е. ВЫ!
Если Вам надо, чтобы пользователь имел возможность манипулировать окнами Вашего приложения, то ВМ нужен, в противном случае нет.

События будут работать без оконного менеджера? Например будут ли работать кнопки, моего приложения?
Записан
vregess
Гость
« Ответ #8 : Март 21, 2008, 21:52 »

События будут работать без оконного менеджера? Например будут ли работать кнопки, моего приложения?
События работать будут. Оконный менеджер управляет непосредственно окном (размер, расположение на рабочих столах и тд), а не тем, что в нем находится (кнопки, меню и тд).
События обрабатываются в основном цикле самой программы используя евенты X-сервера (в общем случае), а не оконного менеджера (который тоже юзает X).
По крайней мере должно так быть Улыбающийся
Записан
Steven_Orko
Гость
« Ответ #9 : Март 24, 2008, 12:39 »

События будут работать без оконного менеджера? Например будут ли работать кнопки, моего приложения?
События работать будут. Оконный менеджер управляет непосредственно окном (размер, расположение на рабочих столах и тд), а не тем, что в нем находится (кнопки, меню и тд).
События обрабатываются в основном цикле самой программы используя евенты X-сервера (в общем случае), а не оконного менеджера (который тоже юзает X).
По крайней мере должно так быть Улыбающийся

Как уже написали, события работать будут. Но если есть оконный менеджер, то некоторых событий окно вообще может не дождаться, т.к. эти события обрабатывает оконный менеджер, и окна не получают даже соответствующего извещения.
Поэтому, какие события попадут в твой главный цикл обработки событий,  сильно зависит от оконного менеджера.
Примером можно привести KDE и kwin, в котором окну надо постараться сильно, чтобы получить события нажатия горячих клавиш для управления окнами, например CTRL+<key>, т.к. их ловит оконый менеджер.
Записан
vregess
Гость
« Ответ #10 : Март 26, 2008, 09:59 »

Как уже написали, события работать будут. Но если есть оконный менеджер, то некоторых событий окно вообще может не дождаться, т.к. эти события обрабатывает оконный менеджер, и окна не получают даже соответствующего извещения.
Поэтому, какие события попадут в твой главный цикл обработки событий,  сильно зависит от оконного менеджера.
Примером можно привести KDE и kwin, в котором окну надо постараться сильно, чтобы получить события нажатия горячих клавиш для управления окнами, например CTRL+<key>, т.к. их ловит оконый менеджер.

Но если есть оконный менеджер... Но если нет - то, получается, приложение будет ловить эти события)
Ведь различные kwin'ы - это прокси между приложением и иксами (по части событий, а мб и многого другого).
Хотя этим вопросом не владею, но если это так и есть на самом деле, то без оконного менеджера приложение должно
работать полноценно.

Да и с другой стороны, если нет оконного менеджера, то скорее всего планируется запуск лишь одного гуи-приложения, а значит фокус всегда будет на нем. Тогда все события нажатия горячих клавиш превращаются в локальные события приложения.
Записан
Steven_Orko
Гость
« Ответ #11 : Март 26, 2008, 14:08 »

Но если есть оконный менеджер... Но если нет - то, получается, приложение будет ловить эти события)
Верно. В этом случае приложение будут ловить эти сообщения.

Ведь различные kwin'ы - это прокси между приложением и иксами (по части событий, а мб и многого другого).
Это смотря с какой стороны подглядеть ))))))))))) По части событий, примерно так с некоторыми оговорками.
Оговорки касаются, когда сам оконный менеджер генерит событие и посылает его окну и другие подобные случаи.

Хотя этим вопросом не владею, но если это так и есть на самом деле, то без оконного менеджера приложение должно
работать полноценно.
Да, внутренняя функциональность приложения никоим убразом не будет урезана.
Но!!! Если часть функциональности связана с управлением окнами, то этого зависит от оконного менеджера. Может работать, а может и нет.

Да и с другой стороны, если нет оконного менеджера, то скорее всего планируется запуск лишь одного гуи-приложения, а значит фокус всегда будет на нем. Тогда все события нажатия горячих клавиш превращаются в локальные события приложения.
Ну, это тоже не всегда правильно. Оконный менеджер может упасть.
Изначально может планироваться не одно GUI-приложение, но без оконного менеджера. Все зависит от задачи. И фокус может получать совершенно любое окно.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.053 секунд. Запросов: 23.