Введение в GTK+
Материал из Wiki.crossplatform.ru
GTK+ (сокращение от GIMP Toolkit) — один из двух наиболее популярных на сегодняшний день наборов элементов интерфейса для X Window System, которая является его основной, но не единственной целевой платформой. Будучи изначально частью графического редактора GIMP, он «отпочковался» в отдельный проект и приобрёл заметную популярность. GTK+ — свободное ПО, распространяемое на условиях GNU LGPL, и является частью проекта GNU.
GTK+ написан на языке Си, но тем не менее, является объектно-ориентированным. Одной из причин для выбора Си в качестве языка было желание легко строить интерфейсы для других языков программирования. В результате под GTK+ можно программировать не только на «родном» Си, но и на C++, Perl, Python, Java, PHP, Ruby, Lisp и других языках.
Собственно GTK+ состоит из двух компонентов: GTK и GDK. Первый содержит набор элементов пользовательского интерфейса, или «виджетов» (таких, как кнопка, список, поле для ввода текста и т. п.) для различных задач. GDK отвечает за вывод на экран и может использовать для этого X Window System, Linux Framebuffer, функции ОС Windows или Mac OS X. Начиная с версии 2.8, GDK во многом (но не полностью) заменена на систему отрисовки векторной графики Cairo.
Помимо Cairo, GTK+ зависит от трёх библиотек — GLib, Pango и ATK, — которые разрабатываются вместе с GTK+, но могут использоваться и отдельно.
Внешний вид графических интерфейсов, созданных с использованием GTK+, может конфигурироваться пользователем и/или программистом. При этом настраиваются не только цвета и шрифты, но и способ отображения различных элементов. Достигается это за счёт использования «движков» для вывода на экран. Путём подключения другого движка можно кардинальным образом менять внешний вид программ. Например, некоторые движки могут использовать псевдо-трёхмерный вид, другие — более «плоский» и т. п.
На основе GTK+ построены рабочие окружения GNOME и Xfce. Рабочее окружение GNOME является «основным» пользователем библиотеки, поэтому политика дизайнерских решений для GNOME и GTK+ обычно совпадает. Тем не менее, программы, использующие GTK+ не обязаны быть GNOME-программами и могут выполняться в других окружениях, например в Xfce и KDE. Кроме того, GTK+ может работать и на операционных системах семейства Windows и Mac OS X.
Источник: http://ru.wikipedia.org