List of language bindings for GTK
As shown in the table below, GTK has a range of bindings for various languages that implement some or all of its feature set. GTK 2 is no longer supported, meaning some languages below do not have current GTK support.
- GObject (GOB) was initially written as a central component of GTK, but outsourced into GLib.
- GObject Introspection is a middleware layer between C libraries (using GObject) and language bindings, e.g. PyGObject uses this, while PyGTK does not.
- Official GNOME Bindings follow the GNOME release schedule which guarantees API stability and time-based releases.
- Glade Interface Designer
Gtk#
Gtk# is a set of .NET Framework bindings for the GTK graphical user interface (GUI) toolkit and assorted GNOME libraries. The library facilitates building graphical GNOME applications using Mono or any other compliant Common Language Runtime (CLR). Gtk# is an event-driven system like any other modern windowing library where every widget allows associating handler methods, which get called when certain events occur.
Applications built using Gtk# will run on many platforms including Linux, Windows and macOS. The Mono packages for Windows include GTK, Gtk# and a native theme to make applications look like native Windows applications. Starting with Mono 1.9, running Gtk# applications on macOS no longer requires running an X11 server.
Glade Interface Designer can be used with the Glade# bindings to easily design GUI applications. A GUI designer named Stetic is integrated with the MonoDevelop integrated development environment (IDE).
In addition to support the standard GTK/GNOME stack of development tools, the
gtk-dotnet.dll assembly provides a bridge to consume functionality available on the .NET stack. At this point this includes the functionality to use System.Drawing to draw on a widget.As of September 2020[update], Gtk# support for Gtk3 remains in the preview phase and forked projects, such as GtkSharp, have been founded to provide full Gtk3 support for C# and other CLI languages. The lack of a released version of Gtk# with support for Gtk3 was cited as a reason to remove the Banshee media player in Ubuntu 12.04.
See also
- List of language bindings for Qt 4
- List of language bindings for Qt 5
- List of language bindings for wxWidgets