Требуется ли для приложений Qt KDE? - PullRequest
7 голосов
/ 17 марта 2010

Все ли приложения Qt требуют установки KDE? Достаточно ли, если среда выполнения Qt установлена ​​вместе с GNOME? Могу ли я сделать приложение Qt точно таким же, как приложение GTK под GNOME? Может ли кто-нибудь указать мне на статью, в которой подробно описываются отношения между Qt, GTK, KDE, GNOME, X?

Ответы [ 5 ]

15 голосов
/ 20 марта 2010

При работе под X приложения Qt и менеджер окон оба являются X-клиентами. Они оба общаются с XServer для рисования, получения ввода или управления окнами. XServer знает об оборудовании и обрабатывает рисование на конкретном мониторе, получает данные от мыши и т. Д.

Можно запустить приложение Qt без среды рабочего стола и даже без оконного менеджера (хотя вы не сможете перемещать / изменять размер программы). Менеджеры окон и т. Д. - это просто обычные X-программы, которые выполняют свои функции, но только косвенно взаимодействуют друг с другом. Они не зависят от другой конкретной программы.

Состояние окон (положение, порядок, содержимое) управляется X-сервером и может запрашиваться и изменяться программой, такой как диспетчер окон.

Менеджер окон обрабатывает размеры, расположение и оформление окон. Он получает события, когда окно создается / изменяется, поэтому он может это сделать. Он рисует рамку вокруг окна и обрабатывает щелчки при закрытии, максимизации, перетаскивании окна и т. Д.

Приложение Qt рисует внутри главного окна и обрабатывает щелчки мыши и нажатия клавиш внутри окна.

Qt может связываться с оконным менеджером, отправляя XEvents из окна (изменение размера / перемещение) или настройку подсказок WM (диалог, важно, размер не изменяется). Они проходят через XServer и не будут иметь никакого эффекта, если их не слушает ни одна программа.

12 голосов
/ 17 марта 2010

Я регулярно запускаю приложения Qt на своем Mac, а иногда и на Windows, и я абсолютно уверен, что ни на Mac, ни на компьютерах с Windows не установлен KDE (и Gnome в этом отношении). Итак, на ваш первый вопрос ответ «определенно нет»: -).

8 голосов
/ 17 марта 2010

Qt - это просто библиотека пользовательского интерфейса, просто так получается, что KDE написан на / с использованием Qt.

Вы можете написать приложение, используя Qt, и запустить его с установленным gnome, если у вас установлена ​​библиотека Qt.

Да, вы можете сделать приложения Qt похожими на приложения gnome, если они используют тему, которую использует система. (не знаю, откуда это вообще известно) Я использую несколько приложений на основе Qt UI, написанных на python под Ubuntu с gnome, и они прекрасно используют тему.

6 голосов
/ 17 марта 2010

Ну, наоборот.Исторически KDE (и сейчас) был построен на платформе Trolltech Qt C ++.Qt C ++ теперь кроссплатформенный, что делает приключения KDE на многих платформах более плавнымиИтак, коротко: KDE зависит от Qt:)

1 голос
/ 20 марта 2010

Когда вы разрабатываете приложение Qt, один из ваших вариантов - включить виджеты или библиотеки KDE в приложение. Если вы сделаете это, вам потребуется установить на целевой машине некоторые пакеты KDE (в Linux) или библиотеки, а также пакеты Qt. Я не уверен, что они доступны на Windows или Mac, хотя предпринимаются попытки портирования KDE на Windows.

...