Сообщество GNOME

Вики русскоязычной команды

Инструменты пользователя

Инструменты сайта


rukovodstva:programmirovanie_gui_s_pomoschju_gtk:chto_takoe_gtk

Что такое GTK+

GTK+ (GIMP Toolkit) — это свободная библиотека для создания графического интерфейса, с помощью которой можно разрабатывать открытое, бесплатное или проприетарное программное обеспечение. Благодаря лицензии LGPL разработка на GTK+ совершенно бесплатна.

Изначально GTK+ разрабатывался для графического редактора GIMP (отсюда и название GIMP Toolkit), но позже он начал использоваться и в других проектах, включая среду рабочего стола GNOME.

GTK+ используют многие популярные открытые приложения: графические редакторы GIMP и Inkscape, среды рабочего стола GNOME, Xfce, Cinnamon, MATE, клиент для обмена сообщениями Pidgin и многие другие приложения.


Приложения, использующие GTK+

<slider> GIMP

Редактор для растровой графики, для которого и создавался GTK+.

<slider> Inkscape

Один из лучших свободных редакторов для работы с векторной графикой.

<slider> GNOME

Популярная среда для рабочего стола для UNIX-подобных операционных систем.

</slider>


Компоненты GTK+

GTK+ предлагает разработчику базовый набор компонентов, из которых можно строить графический интерфейс:

  • окна (обычные, диалоговые, окна-помощники);
  • текстовые метки, изображния, индикаторы выполнения, панели управления, состояния;
  • кнопки и переключатели (флажковые кнопки, радиокнопки, переключатели и кнопки-ссылки);
  • компоненты для ввода численных данных (горизонтальные и вертикальные шкалы, счётчики);
  • компоненты для ввода текстовых данных;
  • многострочные текстовые редакторы;
  • деревья, списки, сетки;
  • выпадающие списки, меню;
  • компонент для построения интерфейса из XML;
  • селекторы (цветов, файлов, шрифтов);
  • и многое другое.

Внешний вид элементов

Начиная с 3 версии GTK+ поддерживает управление внешним видом элементов с помощью CSS. Подробнее о создании CSS-тем см. главу «Изменение внешнего вида элементов».

Архитектура GTK+

Архитектура GTK+ выглядит следующим образом:

GLib

GLib — низкоуровневая библиотека, расширяющая возможности, предоставляемые стандартной библиотекой libc языка C. Реализует объектную систему, используемую в GNOME, основной цикл, а также обширный набор вспомогательных функций для строк и типовых структур данных.

Cairo

Cairo — программная библиотека, предназначенная для отрисовки векторной графики с не зависящим от оборудования программным интерфейсом.

Содержит примитивы для рисования двумерных изображений на различных платформах с использованием функций аппаратного ускорения там, где это возможно. Поддерживается вывод через X Window System, GDI, Syllable API, BeOS API, Mac OS X Quartz, OS/2, OpenGL-контексты (при помощи glitz), в локальный буфер изображения, PNG, PDF, PostScript, DirectFB и SVG.

GDK

GDK — это библиотека, которая выполняет роль обёртки над низкоуровневыми функциями графической и оконной подсистемы. Занимает промежуточное положение между GTK+ и дисплейным сервером. Управляет базовой отрисовкой, рисованием примитивов, растеризацией графики и т. п.

ATK

ATK — это программный интерфейс (API), с помощью которого можно создавать приложения с поддержкой специальных возможностей для людей с физическими ограничениями (слуха, зрения и т. п.).

Pango

Pango — это библиотека для размещения и отрисовки текста. В GTK+ она используется для работы с текстом и шрифтами.

GIO

GIO — это библиотека, предоставляющая программный интерфейс для доступа к функциям виртуальной файловой системы, призванной унифицировать доступ к файлам.

Поддерживаемые языки программирования

Несмотря на то, что GTK+ написан на C, для него существует внушительный список языковых привязок, с которым можно ознакомиться этой на странице. Вы можете писать приложения на C++, Vala, Javascript, Perl, Python, Ruby и многих других языках.

rukovodstva/programmirovanie_gui_s_pomoschju_gtk/chto_takoe_gtk.txt · Последние изменения: 2015/03/14 16:43 — ymyasoedov

Инструменты страницы