Как показано в таблице ниже, GTK имеет диапазон bindings для различных языков, которые реализуют часть или весь его набор функций.
Язык | Имя | Поддерживается? | Лицензия | Примечания | |||
---|---|---|---|---|---|---|---|
2.24 | 3.12 | GIR | Официальная | ||||
Ada | GtkAda | Частичная | Частичная | Да | Нет | GPL-3 | Поддерживается до 3.14. |
C | GTK | Да | Да | Н / A | Да | LGPL-2.1 | Собственный, привязка не требуется. |
C++ | gtkmm | Да | Да | No | Да | LGPL-2.1 | |
C# и другие языки интерфейса командной строки | Gtk # | Частично | No | No | Да | LGPL-2.1 | Поддержка GTK 2 доступна до 2.12. |
GtkSharp | No | Да | No | Нет | LGPL-2.1 | Поддержка GTK 3 доступна до 3.22. | |
Crystal | crystal-gobject | ? | ? | Да | Нет | Apache-2.0 | |
D | GtkD | Да | Да | Да | Нет | LGPL-3 с исключениями | Поддерживается начиная с 2.12 |
Erlang | gtknode | Частично | No | No | Нет | MIT | Нет, частично поддерживается до 2.16 |
Fortran | gtk-fortran | Частично | Частично | No | Нет | GPL-3 | Частично поддерживается с 2.24. Поддержка GTK 4 в разработке. |
FreeBASIC | FreeBASIC GTK + привязки | Да | Частично | No | Нет | LGPL-3 за исключением | Поддерживается вверх до 3.4 и с 2.8 интегрированы в основной дистрибутив. |
Gambas | Gambas gb.gtk component | Частичная | No | No | Нет | GPL-2 | Поддержка GTK + 3 в разработке |
Genie | Genie | Да | Да | Да | Да | LGPL-2.1 | язык, написанный для системы GObject |
Go | go-gir-generator | ? | ? | Да | Нет | GPL-3 | |
gotk3 | No | Частично | No | Нет | ISC | ||
Guile | guile-gnome | Частично | No | No | Нет | GPL-2 | поддерживается до 2.12, частично поддерживается в 2.14 |
Haskell | Gtk2Hs | Да | Частично | No | Нет | LGPL-2.1 | Gtk2Hs - это набор привязок Haskell ко многим библиотек, включенных в платформу GTK + / GNOME. |
haskell-gi | No | Да | Да | Нет | LGPL-2.1 | Создание привязок Haskell для библиотек с поддержкой GObject Introspection | |
J | J GTK addon | Частично | No | No | Нет | GPL-3 | |
Java и другие языки JVM | java-gnome | Да | Да | No | Да | GPL -2 за исключением | Недоступно в Microsoft Windows |
Julia | Gtk.jl | Да | Да | No | Нет | MIT | Включает Поддержка Glib |
JavaScript | Gjs | Да | Да | Да | Да | MIT | GNOME wiki, на основе Mozilla SpiderMonkey |
Seed | Да | Да | Да | Да | LGPL-2.1 | GNOME wiki, на основе на WebKit JavaScriptCore | |
Lua | LGI | Частично | Да | Да | Нет | MIT | Динамическая привязка Lua к Библиотеки GObject с использованием GObject-Introspection. |
lgob | No | Да | Да | Нет | LGPL-3 | lgob обеспечивает привязки библиотек на основе GObject для Lua 5.1. | |
Ним | gintro | No | Да | Да | Нет | MIT | Привязки GTK3 / GTK4 высокого уровня на основе GObject-Introspection для языка Nim |
OCaml | LablGtk | Частично | No | No | Нет | LGPL-2.1 за исключением | Нет, поддерживается до 2.16 |
ooRexx | RexxGTK | Частично | No | No | Нет | CPL | Да, 2.0 или новее |
Objective-C | CoreGTK | No | Частично | No | Нет | LGPL-2.1 | |
ObGTK | Частично | No | No | Нет | LGPL-2.1 | ||
Objective-C GTK | Частично | No | No | Нет | LGPL-2.1 | ||
Паскаль | Free Pascal Пакет gtk | Да | Да | No | Нет | LGPL-3 за исключением | Поддерживается до 2.24, интегрировано в основной дистрибутив. Привязки Gtk + 3.0 разрабатываются в проекте Lazarus-ccr. |
Perl | Gtk2-Perl | Да | Да | Да | Да | LGPL-2.1 | |
PHP | PHP-GTK | Частично | Частично | No | Нет | LGPL-2.1 | PHP до 5.2, GTK - это GTK2 |
Prolog | PLGI | Частично | Да | Да | Нет | LGPL-2.1 | Связывание динамического пролога с библиотеками GObject с помощью GObject-Introspection. |
Python | pgi | Частично | Частично | Да | Нет | LGPL-2.1 | Привязки интроспекции GObject для PyPy. |
pygir-ctypes | Partial | Partial | Да | Нет | BSD | Чистая оболочка репозитория GObject Introspection Repository (GIR) Python с использованием ctypes. | |
PyGObject | Да | Да | Да | Да | LGPL-2.1 | с версии 2.22 | |
PyGTK | Да | No | No | Да | LGPL-2.1 | статические привязки, используйте PyGObject | |
R | RGtk2 | Частично | No | No | Нет | GPL-2 | RGtk2.pdf |
Ruby | GirFFI-Gtk | Частично | Частично | Да | Нет | LGPL-2.1 | Привязки на основе GirFFI для Gtk +. Поддерживает как Gtk + 2, так и Gtk + 3. |
Ruby-GNOME2 | Частично | Да | No | Нет | Лицензия MIT | Частичная, поддерживается до 2.12, частично поддерживается с 2.14 | |
Rust | gtk-rs | No | Да | Да | Нет | MIT | |
gi-rust | No | Да | Да | Нет | LGPL-2.1 | ||
Smalltalk | GNU Smalltalk Привязки GTK + | Да | No | No | Нет | GPL-2 | |
Плагин GTK + | Да | No | No | Нет | MIT | ||
SqueakGtk | Частично | No | No | Нет | MIT | ||
Tcl | Gnocl | Да | No | No | Нет | BSD | |
Vala | Vala | Да | Да | Да | Да | LGPL-2.1 | язык, написанный для системы GObject |
Модуль Wrapl GTK + | Частично | No | No | Нет | GPL-3 | Нет, но почти полностью до 2.22 |