GTK - GTK
В gtk3-widget-factory представляет собой собрание примеров, демонстрирующих многие из Виджеты GUI в GTK версии 3 | |
Оригинальный автор (ы) | Спенсер Кимбалл, Питер Мэттис |
---|---|
Разработчики) | Проект GNOME, Экспериментальная вычислительная база (XCF) |
изначальный выпуск | 14 апреля 1998 г. |
Стабильный выпуск | 3.24.23 / 4 сентября 2020 г.[1] |
Предварительный выпуск | 3.99.4 / 5 ноября 2020 г.[2] |
Репозиторий | |
Написано в | C, CSS[3] |
Операционная система | Linux, Unix-подобный, macOS, Windows |
Тип | Набор инструментов для виджетов |
Лицензия | LGPLv2.1 + |
Интернет сайт | gtk |
GTK (ранее GTK +,[4] Набор инструментов GIMP) это бесплатно и с открытым исходным кодом кросс-платформенный набор инструментов для виджетов для создания графический пользовательский интерфейс (Графические интерфейсы).[5] Он лицензирован в соответствии с условиями Стандартная общественная лицензия ограниченного применения GNU, позволяя как свободный и проприетарное программное обеспечение использовать это. Вместе с Qt, это один из самых популярных наборов инструментов для Wayland и X11 оконные системы.[6]
Архитектура программного обеспечения
GTK библиотека содержит набор графических элементов управления (виджеты ); версия 3.22.16 содержит 186 активных и 36 устаревших виджетов.[7] GTK - это объектно-ориентированный набор инструментов для виджетов написано на языке программирования C; оно использует GObject, это GLib объектная система, для объектной ориентации. Хотя GTK в основном предназначен для оконных систем на основе X11 и Wayland, он работает на других платформах, в том числе Майкрософт Виндоус (взаимодействует с Windows API ), и macOS (взаимодействует с Кварцевый ). Также есть HTML5 серверная часть с именем Бродвей.[8][9]
GTK можно настроить для изменения внешнего вида отрисовываемых виджетов; это делается с использованием различных механизмов отображения. Существует несколько механизмов отображения, которые пытаются имитировать внешний вид собственных виджетов на используемой платформе.
Начиная с версии 2.8, выпущенной в 2005 году, GTK начал переход на использование Каир к оказывать большинство его графических элементов управления виджеты.[10] Начиная с версии GTK 3.0, весь рендеринг выполняется с использованием Cairo.[нужна цитата ]
26 января 2018 г. DevConf.cz Матиас Класен сделал обзор текущего состояния разработки GTK 4, включая подробное объяснение того, как рендеринг и ввод работали в GTK 3, какие изменения были внесены в GTK 4 (> 3.90) и почему.[11] В феврале было объявлено, что GTK 4 уберет «+» из названия проекта.[4]
Комплект для рисования GIMP (GDK)
GDK действует как оболочка для низкоуровневых функций, предоставляемых базовыми оконными и графическими системами.
GDK находится в / gdk
каталог.
Комплект графа сцены GTK (GSK)
GSK - это API визуализации и графа сцены для GTK. GSK находится между графическими элементами управления (виджетами) и рендерингом. GSK был окончательно объединен с GTK версии 3.90, выпущенной в марте 2017 года.
GSK находится в / gsk
каталог.
GtkInspector
GtkInspector был представлен в версии 3.14.[12][13]GtkInspector можно вызвать только после установки пакета разработки libgtk-3-dev /gtk + -devel.
Дизайнеры графического интерфейса
Есть несколько Дизайнеры графического интерфейса для GTK. По состоянию на июль 2011 года активны следующие проекты:
- Поляна, поддерживает GtkBuilder, который является встроенным в GTK форматом описания графического интерфейса.
- Гаспачо, Построитель GUI для набора инструментов GTK, написанный на Python[14]
- Crow Designer использует собственный формат GuiXml и библиотеку GuiLoader.[15]
- Stetic, часть MonoDevelop, ориентированная на Gtk #.
GtkBuilder
GtkBuilder позволяет разрабатывать пользовательские интерфейсы без написания кода. Интерфейс описан в расширяемый язык разметки (XML), который затем загружается во время выполнения, а объекты создаются автоматически. Дизайнер интерфейсов Glade позволяет создавать пользовательский интерфейс в что ты видишь, то и получаешь (WYSIWYG ) образом. Описание пользовательского интерфейса не зависит от используемого языка программирования.
Языковые привязки
Библиотека, написанная на одном языке программирования, может использоваться на другом языке, если привязки написаны; GTK имеет ряд привязок для разных языков.[16]
Gtk #
Разработчики) | Xamarin |
---|---|
изначальный выпуск | 12 марта 2004 г. |
Стабильный выпуск | 2.12.41[17] / 22 сентября 2016 г. |
Предварительный выпуск | 2.99.3 (для GTK3)[17] / 6 июня 2014 г. |
Репозиторий | |
Написано в | C #, XML, Perl, C |
Операционная система | Windows, macOS, Linux |
Тип | Набор инструментов для виджетов |
Лицензия | Стандартная общественная лицензия ограниченного применения GNU |
Интернет сайт | монопроект |
Gtk # это набор .NET Framework привязки для GTK графический интерфейс пользователя (GUI) Инструментарий и ассорти ГНОМ библиотеки. Библиотека упрощает создание графических приложений GNOME с использованием Мононуклеоз или любой другой совместимый общеязыковая среда выполнения (CLR). Gtk # - это система, управляемая событиями, как и любая другая современная оконная библиотека, где каждый виджет позволяет связать методы-обработчики, которые вызываются при наступлении определенных событий.
Приложения, созданные с использованием Gtk #, будут работать на многих платформах, включая Linux, Windows и macOS. Пакеты Mono для Windows включают GTK, Gtk # и собственную тему, чтобы приложения выглядели как собственные приложения Windows. Начиная с Mono 1.9, запуск приложений Gtk # в macOS больше не требует запуска X11 сервер.[18]
Дизайнер интерфейсов Glade может использоваться с привязками Glade # для упрощения разработки приложений с графическим интерфейсом. Дизайнер графического интерфейса по имени Stetic интегрирован с MonoDevelop интегрированная среда развития (IDE).
Помимо поддержки стандартного стека инструментов разработки GTK / GNOME, gtk-dotnet.dll Assembly предоставляет мост для использования функций, доступных в стеке .NET. На данный момент это включает в себя возможность использовать System.Drawing для рисования на виджете.
По состоянию на сентябрь 2020 г.[Обновить], Поддержка Gtk # для Gtk3 остается на стадии предварительной версии и разветвленных проектов, таких как GtkSharp, были созданы для обеспечения полной поддержки Gtk3 для C # и других языков интерфейса командной строки. Отсутствие выпущенной версии Gtk # с поддержкой Gtk3 было названо причиной удаления Банши медиаплеер в Ubuntu 12.04.[19]
Разработка
GTK в основном разрабатывается Проект GNOME, который также разрабатывает платформу разработки GNOME и среду рабочего стола GNOME.[20]
Разработка GTK осуществляется слабо. Обсуждение в основном происходит в нескольких публичных списках рассылки.[21] Разработчики и пользователи GNOME собираются ежегодно Европейская конференция пользователей и разработчиков GNOME ГУАДЕК встреча для обсуждения текущего состояния и будущего развития GNOME.[22] GNOME включает стандарты и программы из freedesktop.org к лучшему взаимодействовать с другими рабочими столами.
GTK в основном написан на C.[23] Много языковые привязки доступны.
1 сентября 2016 года в блоге разработчиков GTK была опубликована запись, среди прочего, о будущей схеме нумерации GTK.[24] GTK версии 3.22 с осени 2016 года будет последним выпуском 3.x. После этого все ресурсы будут перемещены в серию разработки GTK 4 с названиями версий 3.90, 3.92 и т. Д. Даже когда серия 4.x входит в разработку, известные приложения по-прежнему используют GTK 2.x и не были перенесены на 3.22. Что касается будущего наследия программное обеспечение с использованием GTK, нет коллективного проекта по переносу программного обеспечения GTK 2.x на 3.22.
Автоматизация сборки
В прежние времена GTK (и GNOME, GLib и т. Д.) Использовали Система сборки GNU (названный Autotools) как автоматизация сборки система выбора.
С 14 августа 2017 года главная ветвь GTK строится с Мезон, а системные файлы сборки Autotools были удалены.[25]
Критика
Наиболее частой критикой GTK является отсутствие обратной совместимости в основных обновлениях, особенно в интерфейс прикладного программирования (API)[26] и тематика.[27]
Бенджамин Отте объяснил перерывы в совместимости между второстепенными выпусками в течение цикла разработки GTK 3.x как следствие сильного давления на внедрение инноваций, таких как предоставление функций, которых ожидают современные пользователи, и поддержка все более влиятельных Протокол сервера отображения Wayland. С выпуском GTK 4 давление необходимости инноваций исчезнет, и баланс между стабильностью и инновациями изменится в сторону стабильности.[28] Точно так же недавние изменения в тематике специально предназначены для улучшения и стабилизации этой части API, а это означает, что некоторые вложения сейчас должны быть вознаграждены позже.
- Дирк Хондел, разработчик кода Подземный и член Intel Центр технологий открытого исходного кода подверг критике разработчиков GTK за резкость и игнорирование большинства запросов сообщества.[29]
- Хонг Джен Йи, разработчик LXDE (версия GTK была исключена, и все усилия были сосредоточены на Qt порт, выразил презрение к версии 3 радикальных изменений API инструментария GTK и увеличению использования памяти, а также перенес PCMan файловый менеджер (PCManFM) в Qt. PCManFM разрабатывается одновременно с GTK и с бэкэндом Qt.[30]
- В Дерзкий музыкальный проигрыватель перенесен на Qt в версии 3.6.[31] Причины, указанные разработчиками для этого, включают переход к оформлению окон на стороне клиента, что, как они утверждают, заставляет приложение выглядеть "ГНОМ -у и не к месту ".[32]
- Wireshark перешел на Qt из-за отсутствия хорошего опыта кроссплатформенной поддержки GTK.[33]
Использовать
Приложения
Некоторые известные приложения, которые используют или когда-то использовали GTK в качестве инструментария виджетов, включают:
- Основные приложения GNOME - как часть ГНОМ среда рабочего стола, разработанная совместно с самой GTK.
- AbiWord – Текстовый редактор
- Анджута – Интегрированная среда развития (IDE)
- Пыл – Цифровая звуковая рабочая станция
- Хром – веб-браузер (До версии 34 заменен на Aura в версии 35+)[нужна цитата ]
- Экига (ранее GnomeMeeting) - VoIP и видео-конференция заявление
- GNU Emacs может использовать GTK при работе на X.
- Эволюция – Персональный информационный менеджер
- gconfig – Ядро Linux утилита конфигурации исходного кода.
- Geany - легкая кроссплатформенная IDE и текстовый редактор GTK на основе Сцинтилла.
- GIMP – Редактор растровой графики
- Gnumeric – Таблица заявление
- Gramps – Программное обеспечение для генеалогии
- Inkscape – Редактор векторной графики за SVG
- Жизни – Видео редактор
- Мидори – Минималистичный веб-браузер использование GTKWebKit в качестве движка рендеринга и GTK в качестве инструментария виджетов
- Пиджин – Мессенджер заявление
Среды рабочего стола
Несколько окружения рабочего стола использовать GTK в качестве инструментария виджетов.
Текущий
- ГНОМ, основанный на GTK, что означает, что программы, родные для GNOME, используют GTK
- Волнистый попугайчик, созданный с нуля для преемника SolusOS, Операционная система Solus
- Корица, форк GNOME 3 и использует GTK версии 3
- ПРИЯТЕЛЬ, форк GNOME 2 и использует GTK 3 начиная с версии 1.18
- Xfce, на основе GTK 3 начиная с версии 4.14
- Пантеон использует исключительно GTK 3, разрабатываемый элементарная ОС
- Сахар, среда рабочего стола для молодежи начальное образование, который использует GTK, особенно PyGTK
- KDE, хотя на основе Qt, имеет интеграцию с программами и темами, написанными на GTK, начиная с версии 4.2.
- Phosh, мобильный интерфейс, разработанный для PureOS
Неактивный
- Единство, бывшая среда рабочего стола по умолчанию Ubuntu
- LXDE (Легкая среда рабочего стола X11) основана на GTK 2
- Доступ к платформе Linux (преемник Palm OS КПК Платформа)
- Consort, резервный режим GNOME 3.4 - вилка из SolusOS
- GPE, среда GPE для карманного компьютера
- ROX Desktop, легкий рабочий стол с функциями из GUI из ОС RISC
Разное
Программы GTK можно запускать в среде рабочего стола на основе X11 и Wayland или оконных менеджеров, даже тех. нет сделано с помощью GTK, если установлены необходимые библиотеки; Это включает в себя macOS если X11.app установлен. GTK также можно запустить на Майкрософт Виндоус, где он используется некоторыми популярными кроссплатформенными приложениями, такими как Пиджин и GIMP. wxWidgets, кроссплатформенный набор инструментов с графическим интерфейсом, использует GTK в Linux.[34] Другие порты включают DirectFB (используется Установщик Debian, например) и ncurses.[35]
Оконные менеджеры
Следующие оконные менеджеры используют GTK:
GtkSourceView
За подсветка синтаксиса есть GtkSourceView, "виджет редактирования исходного кода". GtkSourceView поддерживается GNOME отдельно от GTK в виде библиотеки: gtksourceview. В планах переименовать в gsv.
GtkSpell
GtkSpell - это библиотека, отдельная от GTK. GtkSpell зависит от GTK и Зачаровывать. Enchant - это обертка для ispell, Hunspell и т. д. фактические программа проверки орфографии двигатель / программное обеспечение. GtkSpell использует виджет GTK GtkTextView, чтобы выделить слова с ошибками и предложить замену.
Пример
Документация доступна здесь:
Следующий код представляет графический GTK Привет, мир программа в Язык программирования C. В этой программе есть окно с заголовком «Привет, мир!» и метку с аналогичным текстом.
// helloworld.c#включают <gtk/gtk.h>int главный (int argc, char *argv[]){ GtkWidget *окно; GtkWidget *метка; gtk_init(&argc, &argv); / * Создаем главное окно верхнего уровня * / окно = gtk_window_new(GTK_WINDOW_TOPLEVEL); / * Дайте ему название * / gtk_window_set_title(GTK_WINDOW(окно), "Привет, мир!"); / * Центрировать окно * / gtk_window_set_position(GTK_WINDOW(окно), GTK_WIN_POS_CENTER); / * Устанавливаем размер окна по умолчанию * / gtk_window_set_default_size(GTK_WINDOW(окно), 200, 100); /* ** Сопоставьте сигнал уничтожения окна с gtk_main_quit; ** Когда окно вот-вот будет разрушено, мы получаем уведомление и ** остановить основной цикл GTK, вернув 0 */ g_signal_connect(окно, "разрушать", G_CALLBACK(gtk_main_quit), НОЛЬ); /* ** Назначьте переменную label новой метке GTK, ** с текстом «Привет, мир!» */ метка = gtk_label_new("Привет, мир!"); / * Наносим метку на главное окно * / gtk_container_add(GTK_CONTAINER(окно), метка); / * Убедитесь, что все, окно и метка, видны * / gtk_widget_show_all(окно); /* ** Запустите основной цикл и ничего не делайте (блокируйте), пока ** заявка закрыта */ gtk_main(); возвращаться 0;}
Необходимо сначала установить библиотеки в Debian или производные:$ sudo apt-get install libgtk-3-dev
С помощью pkg-config в Оболочка Unix, этот код можно скомпилировать с помощью следующей команды:$ cc -Wall `pkg-config --cflags gtk + -3.0` -o helloworld helloworld.c` pkg-config --libs gtk + -3.0`
Вызвать программу:$ ./helloworld
История
Linux / Unix
GTK был первоначально разработан и использовался в Программа обработки изображений GNU (GIMP) в качестве замены Мотив Инструментарий; в какой-то момент Питер Мэттис разочаровался в Motif и начал писать свой собственный инструментарий GUI под названием GIMP toolkit и успешно заменил Motif выпуском GIMP 0.60.[36] Наконец GTK был переписан, чтобы объектно-ориентированный и был переименован в GTK +.[37] Впервые это было использовано в версии GIMP 0.99. Впоследствии GTK был принят на обслуживание в Фонд GNOME, который использует его в среде рабочего стола GNOME.
В серии выпусков GTK 2.0.0 представлены новые функции, в том числе улучшенная отрисовка текста с использованием Панго, новый тема двигатель, улучшенная доступность с помощью Инструментарий доступности, переход к Unicode с помощью UTF-8 строки и более гибкий API. Начиная с версии 2.8, GTK 2 зависит от Каир графическая библиотека для рендеринга векторной графики.
GTK версии 3.0.0 включает переработанную обработку устройств ввода, поддержку тем, написанных с CSS -подобный синтаксис и возможность получать информацию о других открытых приложениях GTK.
Знак '+' был сброшен и заменен просто 'GTK' в феврале 2019 года во время Хакатон.[38]
macOS
С Кварцевый -Backend[39] GTK доступен в macOS.[40]
Windows
- После GTK 2.24.10 и 3.6.4 разработка Windows с установщиком была закрыта Gnome. Установка MSYS2 в Windows - хороший способ использовать настоящий GTK.[41]
- GTK 2.24.10 и 3.6.4 доступны в Интернете, но содержат много ошибок и ограничены по сравнению с текущими версиями.[42][43]
- Версия для 64-битной Windows подготовлена Томом Скунджансом с доступными версиями 2.24.32 (актуально как Linux) и 3.22.30 (актуально как Linux).[44]
- Обновление Windows 10 Fall Creators Update включает Подсистема Windows для Linux (WSL). С дистрибутивами Linux, такими как Ubuntu или Debian, доступными в Магазине Windows, и с X-сервером, таким как Xming или VcXsvr, тысячи программ, таких как GTK 2 или 3, могут работать с X или поддержкой терминала.
OpenVMS
HP заявили, что их целью было объединить необходимые OpenVMS изменения в потоке разработки GTK версии 1.3,[45] однако этого так и не произошло. Последней версией GTK для OpenVMS является версия 1.2.10.[46]
4.x
Одним из кардинальных нововведений, реализованных в течение цикла разработки GTK 4 (например, GTK 3.92 и т. Д.), Было делегирование функциональности вспомогательным объектам вместо кодирования их в базовые классы, предоставляемые GTK.
- обработка событий от обработчиков сигналов, описываемых GtkWidget, делегируется контроллерам событий
- рендеринг делегирован объектам GtkSnapshot
- механизм компоновки из GtkWidget делегируется GtkLayoutManager
В 2018-Янв-26 на DevConf.cz Матиас Класен сделал обзор текущего состояния разработки GTK 4, включая подробное объяснение того, как рендеринг и ввод работали в GTK 3, какие изменения были внесены в GTK 4 и причины этих изменений. Также были приведены примеры того, что стало возможным с GTK 4.[47]
Релизы
История выпуска | |||||||
---|---|---|---|---|---|---|---|
Выпуск серии | изначальный выпуск | Основные улучшения | Последняя дополнительная версия | ||||
GTK + 1 | |||||||
1.0 | 1998-04-13[48] | Первая стабильная версия | 1.0.6 | ||||
1.2 | 1999-02-25[49] | Новый виджеты:
| 1.2.10 | ||||
Легенда: Старая версия | |||||||
GTK + 2 | |||||||
2.0 | 2002-03-11[50] | GObject Общая поддержка UTF-8 | 2.0.9 | ||||
2.2 | 2002-12-22[51] | Поддержка нескольких голов | 2.2.4 | ||||
2.4 | 2004-03-16[52] | Новые виджеты:
| 2.4.14 | ||||
2.6 | 2004-12-16[53] | Новые виджеты:
Последний, кто поддерживает Windows 98 /Мне | 2.6.10 | ||||
2.8 | 2005-08-13[54] | Большинство виджетов обрабатываются Каир | 2.8.20 | ||||
2.10 | 2006-07-03[55] | Новые виджеты:
Поддержка печати: GtkPrintOperation | 2.10.14 | ||||
2.12 | 2007-09-14[56] | GtkBuilder | 2.12.12 | ||||
2.14 | 2008-09-04[57] | JPEG 2000 поддержка нагрузки | 2.14.7 | ||||
2.16 | 2009-03-13[58] | Новый виджет: GtkOrientable Предупреждение о Caps Lock при вводе пароля Улучшения в GtkScale, GtkStatusIcon, GtkFileChooser | 2.16.6 | ||||
2.18 | 2009-09-23[59] | Новый виджет: GtkInfoBar Улучшение выбора файлов, печать Чтобы удалить большую часть необходимого IPC между приложением X11 и сервером X11, GDK переписан (в основном Александром Ларссоном) для использования «клиентских окон», т.е. GdkWindow, который должен быть у каждого виджета, теперь принадлежит клиенту | 2.18.9 | ||||
2.20 | 2010-03-23[60] | Новые виджеты:
Улучшение выбора файлов, обработки клавиатуры, GDK Данные интроспекции теперь включены в GTK | 2.20.1 | ||||
2.22 | 2010-09-23[61] | GdkPixbuf перенесен в отдельный модуль Большинство чертежей GDK основаны на Каире. Многие внутренние данные теперь являются частными и могут быть запечатанный в процессе подготовки к GTK 3 | 2.22.1 | ||||
2.24 | 2011-01-30[62] | Новый виджет: GtkComboBoxText Серверная часть печати CUPS может отправлять задания на печать в формате PDF. GtkBuilder получил поддержку текстовых тегов и кнопок меню, а также было добавлено множество исправлений аннотаций интроспекции. | 2.24.32 (2018-01-08) | ||||
Легенда: Старая версия Старая версия, все еще поддерживается | |||||||
GTK 3 | |||||||
3.0 | 2011-02-10[63] | Разработка и проектирование выпуска инструментария GTK 3 началось в феврале 2009 года во время GTK Theming Hackfest, проходившего в Дублине.[64]
Завершено в основном Проект Ридли
Все рендеринг выполняется с использованием Cairo GDK стал более агностиком X11 XInput2, API темы основан на Каскадные таблицы стилей (CSS), что ухудшает достижимую производительность для 60 Гц частота кадров | 3.0.12 | ||||
3.2 | 2011-09-25[67] | Новые виджеты:
Новый диалог выбора шрифта Новые экспериментальные серверные части: | 3.2.4 | ||||
3.4 | 2012-03-26[68] | Поддержка меню в GtkApplication Новый выбор цвета Добавлена поддержка сенсорных устройств Добавлена поддержка плавной прокрутки GtkScrolledWindow будет выполнять кинетическую прокрутку с помощью сенсорных устройств улучшена поддержка macOS Это первая версия GTK 3, которая хорошо работает в Windows. Бэкэнд Wayland обновлен до текущей версии Wayland Кнопки вращения получили новый вид Специальные возможности: переработана поддержка древовидного доступа Более полная поддержка тем CSS | 3.4.4 | ||||
3.6 | 2012-09-24[69] | Новые виджеты:
Кнопки вертикального вращения CSS-анимация, размытие теней Поддержка плавного затухания и переходов в темах | 3.6.5 | ||||
3.8 | 2013-03-25[70] | Стабильная поддержка Wayland 1.0 Поддержка Broadwayd сервера Улучшенная тематика Лучшее управление геометрией Улучшения касания Поддержка с оконный менеджер для протокола кадровой синхронизации GdkFrameClock добавлен[71] | 3.8.9 | ||||
3.10 | 2013-09-23[72] | Новые виджеты:
Поддержка Wayland 1.2
Добавлен:
Удаленный:
Отрывные пункты меню, а также множество настроек GTK | 3.10.9 | ||||
3.12 | 2014-03-25[73] | Клиентские украшения[74] Поддержка Wayland 1.5 Новый виджет: GtkPopover (альтернатива меню и диалогам) | 3.12.2 | ||||
3.14 | 2014-09-22[75] | GtkInspector (копия gtkparasite) представил[76][77] Улучшенная поддержка для жесты /мультитач слился[78][79] Не рекомендуется:[80]
Большинство виджетов внутренне преобразованы для использования жестов Wayland поддерживает классический режим GNOME Shell[81] | 3.14.15 | ||||
3.16 | 2015-03-22[82] | GDK поддерживает окна рендеринга с использованием OpenGL для X11 и Wayland с использованием Libepoxy Новые виджеты:
Прокрутка переработана (полоса прокрутки скрыт по умолчанию[83]) | 3.16.7 | ||||
3.18 | 2015-09-23[85] | Добавить инфраструктуру узла CSS Больше обновлений дизайна Filechooser и улучшенный поиск filechooser Прекращена поддержка Windows XP Поддержка модели для списка и блока потока Кинетическая прокрутка тачпада Жесты сенсорной панели (Wayland) утилита gtk-builder-tool Окна только для вывода | 3.18.9 | ||||
3.20 | 2016-03-21[86] | Дальнейшая интеграция узлов CSS[87] Двигаться перетащить и отпустить вплоть до GDK Новый виджет: GtkShortcutsWindow (показывает сочетания клавиш и жесты приложения) | 3.20.10 | ||||
3.22 | 2016-09-21[88] | Последний выпуск 3.x[24] Поддержка планшетов Wayland объединена,[89] Поддержка для графические планшеты считается функцией завершенной[90] GTK 3.22 должен быть таким же устойчивым (и, следовательно, «скучным»), как GTK 2.[28][91][92] | на 3+ года 3.22.29 | ||||
3.24 | 2018-09-03[93] | 3.22 должна была стать самой последней версией серии GTK 3.
Удары зависимости - требуются:
Новые возможности выбора шрифта:
Новые возможности Emoji:
Другие новые API: gdk_window_move_to_rect Wayland: используйте анонимную разделяемую память во FreeBSD Контроллеры событий, перенесенные из GTK 4:
Устарели несколько API-интерфейсов, отсутствующих в GTK 4:
| 3.23.0 3.23.1 3.23.2 3.23.3 3.24.0 …3.24.5 3.24.14 | ||||
Легенда: Старая версия Старая версия, все еще поддерживается Последняя версия | |||||||
Серия разработок GTK 4 | |||||||
3.90 | 2017-03-31[94] | Комплект графа сцены GTK (GSK) объединены[95] Удалите все API, помеченные как устаревшие.
Тяжелое развитие | 3.89.1 | ||||
3.92 | 2017-10-18[97][98] | Поскольку GNOME 3.26 был выпущен 13 сентября 2017 года,[99] он не был основан на GTK 3.92. Автоинструменты GNU был заменен на Мезон. | 3.91.0 | ||||
3.94 | 2018-06-26[100] | 3.93
GdkWindow переименован в GdkSurface Новая абстракция для содержимого, доступного для рисования: GdkPaintable Есть поддержка отображения мультимедиа с помощью:
| 3.93 3.94.0 | ||||
3.96 | 2019-05-07[101] | В инструмент gtk4-builder упрощать команда получила --3to4 возможность конвертировать файлы пользовательского интерфейса GTK3 в GTK4; хотя с помощью AMTK меню, панели инструментов или другие объекты, такие как GtkShortcutsWindow, создаются программно (не с помощью файла * .ui), но с помощью удобных API.[102] GtkWidget теперь может использовать GtkLayoutManager для распределения размера
Обработка фокуса была переписана, а генерация событий смены фокуса была объединена с событиями пересечения События были упрощены и используются только для ввода:
| 3.96.0 | ||||
3.98 | 2020-02-10[103] |
| 3.98.5 | ||||
3.99.0 | 2020-07-31[2] |
| 3.99.4 | ||||
4.0 | Осень 2020[106] | Удалите все API, помеченные как устаревшие, т.е. по крайней мере все в устарел каталог | |||||
Легенда: Старая версия Старая версия, все еще поддерживается Последняя версия Последняя предварительная версия Будущий выпуск |
Команда GNOME регулярно выпускает новые версии.[95]
Смотрите также
- Украшение на стороне клиента
- Список наборов инструментов для виджетов
- GDK - набор для рисования GIMP находится между xlib и библиотека GTK, обрабатывающая базовый рендеринг, такой как примитивы рисования, растровая графика (растровые изображения), курсоры, шрифты, а также события окна и функциональность перетаскивания
- gtkmm - Привязки C ++ для GTK
- Qt - кроссплатформенный фреймворк и инструментарий
- Xojo - кроссплатформенный инструмент разработки и фреймворк
- Библиотеки Фонда Просвещения (EFL) - набор инструментов виджетов, написанный для оконного менеджера Enlightenment
- ФЛТК - легкий, кроссплатформенный, неродной набор инструментов для виджетов
- Набор инструментов FOX - быстрый кроссплатформенный инструментарий виджетов с открытым исходным кодом
- IUP - многоплатформенный инструментарий для создания собственных графических пользовательских интерфейсов
- Окончательный ++
- Библиотека визуальных компонентов (VCL)
Рекомендации
- ^ Класен, Матиас (4 сентября 2020 г.). "GTK + 3.24.23". Почтовые службы GNOME (Список рассылки). Получено 4 сентября 2020.
- ^ а б c Класен, Матиас (5 ноября 2020 г.). "GTK 3.99.4". Почтовые службы GNOME (Список рассылки). Получено 6 ноября 2020.
- ^ «Проект с открытым исходным кодом GTK на странице Open Hub: Languages». www.openhub.net.
- ^ а б Басси, Эммануэле (6 февраля 2019 г.). "Переименовать проект в" GTK"". mail.gnome.org. ГНОМ список рассылки. Получено 7 февраля 2019.
- ^ Команда GTK +. «Возможности GTK +». Получено 8 сентября 2014.
- ^ "Документация". www.x.org.
- ^ "Справочное руководство GTK + 3". Получено 15 июля 2017.
- ^ «Использование GTK + с Broadway». Разработчик GNOME. ГНОМ. Получено 6 марта 2018.
- ^ "Бродвей - GitHub симбиоз / симбиоз Вики". GitHub. Получено 6 марта 2018.
- ^ "GTK + для использования Cairo Vector Engine". Получено 27 декабря 2009.
- ^ «Маттиас Класен DevConf.cz 2018 рассказывает о GTK + 4» (PDF). 26 января 2018.
- ^ "Представляем GtkInspector". 15 мая 2014 г.
- ^ "Еще одно обновление GtkInspector". 11 июля 2014 г.
- ^ "Debian - Результаты поиска пакетов - gazpacho". packages.debian.org.
- ^ «Ничего личного - сайт разработки для Crow Designer, GuiLoader и Rally - хостинг проектов Google». Архивировано из оригинал 24 января 2013 г.. Получено 17 февраля 2014.
- ^ Команда GTK +. "Языковые привязки GTK +". www.gtk.org. Получено 3 июн 2017.
- ^ а б «Gtk # - это привязка Mono / .NET к кросс-платформенному набору инструментов Gtk + GUI и основа большинства приложений с графическим интерфейсом, созданных с помощью Mono: mono / gtk-sharp». 16 ноября 2019 г. - через GitHub.
- ^ "Загрузить Gtk #". Проект GTK +.
- ^ "'Bansheegeddon 'может увидеть Banshee, Mono удален из Ubuntu по умолчанию ". ITWorld. Получено 31 августа 2015.
- ^ «Быстрый SWOT-анализ GNOME». Проект GNOME. Получено 18 марта 2014.
- ^ "Списки рассылки GTK + и GNOME". Проект GNOME. Получено 4 декабря 2011.
- ^ "О". Европейская конференция пользователей и разработчиков GNOME (ГУАДЕК ). Архивировано из оригинал 4 октября 2011 г.. Получено 3 декабря 2011.
- ^ "Языки GNOME". Охлох. Программное обеспечение Black Duck. Получено 22 мая 2014.
- ^ а б «Обещание управления версиями и долгосрочной стабильности в GTK». Блог разработки GTK. 1 сентября 2016 г.
- ^ "Система сборки изменяет главную ветку GTK". mail.gnome.org.
- ^ "Как создать приложение Gtk +? - Мортен Велиндер". blogs.gnome.org. Получено 3 июн 2017.
- ^ mclasen (20 ноября 2015 г.). "Обновление GTK +". Продолжается.
- ^ а б «GUADEC2013: Бенджамин Отте рассказывает о GTK +». ГУАДЕК.
- ^ Ларабель, Майкл (12 января 2014 г.). «Самая большая проблема с GTK и что хорошо с Qt». Фороникс. Получено 10 сентября 2014.
- ^ Хон Джен Йи (26 марта 2013 г.). "Выпущен PCManFM Qt 0.1.0". Получено 10 сентября 2014.
- ^ "Audacious - продвинутый аудиоплеер". audacious-media-player.org.
- ^ Линдгрен, Джон (6 мая 2014 г.). "Уродливые оконные украшения и как их исправить (GTK 3.12)". Получено 21 октября 2014.
- ^ Джеральд Комбс (15 октября 2013 г.). "Мы переходим на Qt". Получено 19 августа 2015.
- ^ "GTK +". WxWidgets по сравнению с другими наборами инструментов.
- ^ "Порт GTK + TTY". Slashdot. Получено 31 августа 2010.
- ^ «LinuxWorld - Куда делись Спенсер Кимбалл и Питер Мэттис?». Архивировано 17 апреля 1999 года.. Получено 19 августа 2013.CS1 maint: BOT: статус исходного URL-адреса неизвестен (связь)
- ^ "Что такое + в GTK +?". 2011. Архивировано с оригинал 26 марта 2012 г.. Получено 18 марта 2014.
- ^ "Переименовать некоторые ссылки на GTK + (d080be3e) · Коммит · GNOME / gtk". GitLab.
- ^ "Проекты / GTK / OSX - GNOME Wiki!". wiki.gnome.org.
- ^ "Загрузка GTK: Mac OS X". www.gtk.org.
- ^ "Загрузка GTK: Windows". www.gtk.org.
- ^ "GTK + для среды выполнения Windows". SourceForge.
- ^ "GTK +". www.tarnyko.net.
- ^ "GTK + для установщика среды выполнения Windows (ответвление с http://gtk-win.sourceforge.net): tschoonj / GTK-for-Windows-Runtime-Environment-Installer". 19 ноября 2019 г. - через GitHub.
- ^ http://h41379.www4.hpe.com/openvms/products/ips/gtk.html
- ^ http://h41379.www4.hpe.com/openvms/products/ips/gtk_down.html
- ^ https://mclasen.fedorapeople.org/gtk4-devconf2018.pdf
- ^ Амундсон, Шон Т. (13 апреля 1998 г.). "ОБЪЯВЛЕНИЕ: GTK + 1.0.0 выпущен!". Почтовые службы GNOME (Список рассылки). Получено 20 мая 2019.
- ^ Амундсон, Шон Т. (25 февраля 1999 г.). «ОБЪЯВЛЕНИЕ: выпущены GTK + и GLib 1.2.0». Почтовые службы GNOME (Список рассылки). Получено 20 мая 2019.
- ^ Тейлор, Оуэн (11 марта 2002 г.). «Выпущен GTK + -2.0.0». Почтовые службы GNOME (Список рассылки). Получено 20 мая 2019.
- ^ Тейлор, Оуэн (22 декабря 2002 г.). «Выпущен GTK + -2.2.0». Почтовые службы GNOME (Список рассылки). Получено 20 мая 2019.
- ^ Тейлор, Оуэн (16 марта 2004 г.). «Выпущен GTK + -2.4.0». Почтовые службы GNOME (Список рассылки). Получено 20 мая 2019.
- ^ Класен, Матиас (16 декабря 2004 г.). «Выпущен GTK + -2.6.0». Почтовые службы GNOME (Список рассылки). Получено 20 мая 2019.
- ^ Класен, Матиас (13 августа 2005 г.). "Выпущен GTK + 2.8.0". Почтовые службы GNOME (Список рассылки). Получено 20 мая 2019.
- ^ Класен, Матиас (3 июля 2006 г.). "Выпущен GTK + 2.10". Почтовые службы GNOME (Список рассылки). Получено 20 мая 2019.
- ^ Класен, Матиас (14 сентября 2007 г.). «Выпущен GTK + 2.12». Почтовые службы GNOME (Список рассылки). Получено 20 мая 2019.
- ^ Класен, Матиас (4 сентября 2008 г.). "Выпущен GTK + 2.14.0". Почтовые службы GNOME (Список рассылки). Получено 20 мая 2019.
- ^ Класен, Матиас (13 марта 2009 г.). «Выпущен GTK + 2.16.0». Почтовые службы GNOME (Список рассылки). Получено 20 мая 2019.
- ^ Класен, Матиас (23 сентября 2009 г.). "Выпущен GTK + 2.18.0". Почтовые службы GNOME (Список рассылки). Получено 20 мая 2019.
- ^ Класен, Матиас (23 марта, 2010 г.). "Выпущен GTK + 2.20.0". Почтовые службы GNOME (Список рассылки). Получено 20 мая 2019.
- ^ Класен, Матиас (23 сентября, 2010 г.). "Выпущен GTK + 2.22.0". Почтовые службы GNOME (Список рассылки). Получено 20 мая 2019.
- ^ Класен, Матиас (20 января 2011 г.). "GTK + 2.24.0". Почтовые службы GNOME (Список рассылки). Получено 20 мая 2019.
- ^ Класен, Матиас (10 февраля 2011 г.). «Выпущен GTK + 3.0.0». Почтовые службы GNOME (Список рассылки). Получено 20 мая 2019.
- ^ "Gtk + 3.0 Theming API Hackfest". Силиконовый остров. Получено 3 июн 2017.
- ^ "Проект дорожной карты Gtk + 3". Получено 3 июн 2017.
- ^ "Чердак / ProjectRidley - GNOME Wiki!". wiki.gnome.org.
- ^ Класен, Матиас (25 сентября 2011 г.). «GTK + 3.2.0». Почтовые службы GNOME (Список рассылки). Получено 20 мая 2019.
- ^ Класен, Матиас (26 марта 2012 г.). «Выпущен GTK + 3.4.0». Почтовые службы GNOME (Список рассылки). Получено 20 мая 2019.
- ^ Класен, Матиас (24 сентября 2012 г.). «Выпущен GTK + 3.6.0». Почтовые службы GNOME (Список рассылки). Получено 20 мая 2019.
- ^ Класен, Матиас (25 марта 2013 г.). «Выпущен GTK + 3.8.0». Почтовые службы GNOME (Список рассылки). Получено 20 мая 2019.
- ^ «Частота кадров: Справочное руководство по GDK 3». developer.gnome.org.
- ^ Класен, Матиас (23 сентября 2013 г.). "Выпущен GTK + 3.10.0". Почтовые службы GNOME (Список рассылки). Получено 20 мая 2019.
- ^ Класен, Матиас (25 марта 2014 г.). «Выпущен GTK + 3.12». Почтовые службы GNOME (Список рассылки). Получено 20 мая 2019.
- ^ «Клиентские украшения в темах | Продолжается».
- ^ Класен, Матиас (22 сентября 2014 г.). «Выпущен GTK + 3.14.0». Почтовые службы GNOME (Список рассылки). Получено 20 мая 2019.
- ^ Маттиас Класен (15 мая 2014 г.). "Запись в блоге автора GtkInspector". Получено 17 мая 2014.
- ^ "GtkInspector в вики GNOME". 15 мая 2014. Получено 17 мая 2014.
- ^ «Объединение жестов в 3.14». 23 мая 2014 г.. Получено 23 мая 2014.
- ^ «RFC: жесты». 4 марта 2014 г.. Получено 23 мая 2014.
- ^ "gtk + 3.13.2". 27 мая 2014 г.
- ^ "GTK + 3.13.3". 24 июня 2014 г.
- ^ Класен, Матиас (22 марта 2015 г.). "Выпущен GTK + 3.16.0". Почтовые службы GNOME (Список рассылки). Получено 20 мая 2019.
- ^ онлайн, heise. "Linux-Desktop: Neues Gnome zeigt Nachrichten oben". Heise онлайн. Получено 3 июн 2017.
- ^ "Выпущен GTK + 3.16.0". mail.gnome.org. Получено 3 июн 2017.
- ^ Нестор, Мариус (24 сентября 2015 г.). "GTK + 3.18.0 официально выпущен как часть среды рабочего стола GNOME 3.18". Софтпедия. Получено 25 мая 2019.
- ^ Класен, Матиас (21 марта 2016 г.). «GTK + 3.20». Почтовые службы GNOME (Список рассылки). Получено 20 мая 2019.
- ^ «GTK + 3.20 - Классы стилей и имена элементов». 20 ноября 2015.
- ^ Класен, Матиас (21 сентября 2016 г.). "Выпущен GTK + 3.22". Почтовые службы GNOME (Список рассылки). Получено 20 мая 2019.
- ^ «Объединена поддержка планшетов GTK + Wayland - Карлос Гарначо».
- ^ "вход хуттера". www.x.org.
- ^ а б "Gtk 4.0 не будет стабильным до Gtk 4.6". 13 июня 2016 г.
- ^ а б "Gtk 5.0 не будет стабильным до Gtk 5.6". 14 июня 2016 г.
- ^ Класен, Матиас (3 сентября 2018 г.). "gtk + 3.24.0". Почтовые службы GNOME (Список рассылки). Получено 20 мая 2019.
- ^ Класен, Матиас (31 марта 2017 г.). "gtk + 3.90.0". Почтовые службы GNOME (Список рассылки). Получено 20 мая 2019.
- ^ а б "Проекты / GTK / Дорожная карта - GNOME Wiki!". wiki.gnome.org.
- ^ "Фиксирует · мастер · GNOME / gtk". GitLab.
- ^ Класен, Матиас (18 октября 2017 г.). "gtk + 3.92.1". Почтовые службы GNOME (Список рассылки). Получено 20 мая 2019.
- ^ Класен, Матиас (23 октября 2017 г.). «GTK + 3.92». Блог разработчиков GTK. Получено 25 мая 2019.
- ^ «Выпущен GNOME 3.26». 13 сентября 2017.
- ^ Класен, Матиас (26 июня 2018 г.). "gtk + 3.94.0". Почтовые службы GNOME (Список рассылки). Получено 20 мая 2019.
- ^ Класен, Матиас (7 мая 2019 г.). "GTK 3.96". Почтовые службы GNOME (Список рассылки). Получено 28 мая 2019.
- ^ "Представляем AMTK".
- ^ Класен, Матиас (7 мая 2019 г.). "GTK 3.96". Почтовые службы GNOME (Список рассылки). Получено 28 мая 2019.
- ^ Класен, Матиас (13 февраля 2020 г.). «ГТК 3.98». Блог разработчиков GTK +. Получено 18 февраля 2020.
- ^ "Слайд-деки GUADEC 2020".
- ^ Класен, Матиас (29 августа 2019 г.). "GTK BoF at Guadec". Блог разработчиков GTK +. Получено 15 сентября 2019.
Библиография
- Краузе, Эндрю (23 апреля 2007 г.), Основы GTK + Development (1-е изд.), Apress, ISBN 978-1-59059-793-4
- Райт, Питер (15 мая 2000 г.), Начиная с GTK + и GNOME (1-е изд.), Информация о коллегах, ISBN 978-1-86100-381-2
- Логан, Сид (6 сентября 2001 г.), Gtk + Программирование на C (1-е изд.), Prentice Hall, ISBN 978-0-13-014264-1