GTK (ранее GTK+; аббревиатура от GIMP Toolkit) — это бесплатная и открытая кроссплатформенная библиотека виджетов для создания графических пользовательских интерфейсов. Изначально разработанная для графического редактора GIMP, она со временем стала самостоятельным проектом и одной из ведущих библиотек для разработки приложений на Linux, а также поддерживает платформы Windows и macOS. GTK распространяется под лицензией GNU LGPL, что позволяет использовать её как в свободном, так и в проприетарном программном обеспечении.
GTK является официальной библиотекой для создания графического интерфейса в проекте GNU и используется в таких популярных приложениях, как GIMP, Inkscape, Firefox и AbiWord. Она предоставляет разработчикам набор инструментов для создания интерфейсов с использованием виджетов, таких как кнопки, меню, текстовые поля и другие элементы управления. Библиотека написана на языке C и поддерживает объектно-ориентированную модель с использованием GObject, что обеспечивает гибкость и расширяемость.
- Кроссплатформенность: поддерживает Linux, Windows и macOS, позволяя создавать приложения, работающие на различных операционных системах.
- Поддержка нескольких языков программирования: помимо C, существуют привязки для C++, Python, JavaScript, Vala и других языков, что расширяет возможности использования GTK в различных средах разработки.
- Модульная архитектура: позволяет разработчикам выбирать необходимые компоненты и библиотеки, что способствует созданию лёгких и эффективных приложений.
- Поддержка тем оформления: с помощью CSS-подобного синтаксиса можно настраивать внешний вид приложений, обеспечивая их соответствие современным дизайнерским стандартам.
- Интеграция с другими библиотеками: GTK может работать в связке с такими библиотеками, как Cairo для 2D-графики и GStreamer для мультимедийного контента, расширяя функциональные возможности приложений.
- Активное сообщество и поддержка: GTK имеет большое сообщество разработчиков и пользователей, обеспечивая регулярные обновления и поддержку, что способствует стабильности и безопасности приложений.