Библиотека виджетов GTK+

GTK+ — это бесплатная кросс-платформенная библиотека виджетов для создания графического интерфейса.

Виджеты — это готовые элементы интерфейса: кнопки, переключатели, списки, меню и т.д.

Виджеты необходимы для любой программы и разрабатывать их с нуля нецелесообразно. Поэтому программисты обычно используют готовые библиотеки виджетов.

Самая популярная из этих библиотек — это GTK+. Первоначально она создавалась для редактора GIMP. Сейчас является фактическим стандартом для кросс-платформенных приложений.

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

В первую очередь это браузеры Chrome и Firefox. А также:

  • Текстовый редактор AbiWord
  • Растровый графический редактор GIMP
  • Векторный графический редактор Inkscape
  • Кроссплатформенный текстовый редактор SciTE
  • и многие другие

Библиотека написана на чистом Си. Имеет интерфейсы для других языков программирования. Под GTK+ можно писать на следующих языках программирования: Си, C++, PHP, Java, Javascript, Perl, Python, Go, Ruby и многих других.

В сборке Си-экспресс библиотека GTK+ уже встроена и готова к работе. Также в отдельной папке собраны необходимые файлы для готового приложения.

Для работы с библиотекой GTK+ необходимо:

На этапе компиляции:

Меню — Настройки — Редактор глобальных переменных

Глобальная переменная GTK должна указывать на библиотеку GTK.

На этапе выполнения:

  • Или поместить в папку с исполняемой программой библиотеки GTK-LIB (рекомендуется).
  • Или указать путь к библиотеке в системной переменной path.

Быстрое создание программы на GTK+

CodeBlocks уже имеет шаблон для проектов GTK+.

Укажите название проекта и каталог

Скопируйте в папку Debug библиотеки GTK+

И получите готовый пример:

Документация по GTK+

Официальный сайт (eng): https://www.gtk.org/
Руководство по GTK+ 2.0 (rus) http://www.opennet.ru/docs/RUS/gtk_plus/

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.