GTK is a library for creating graphical user interfaces. It works on many UNIX-like platforms, Windows, and OS X. GTK is released under the GNU Library General Public License (GNU LGPL), which allows for flexible licensing of client applications. GTK has a C-based object-oriented architecture that allows for maximum flexibility. Bindings for many other languages have been written, including C++, Objective-C, Guile/Scheme, Perl, Python, TOM, Ada95, Free Pascal, and Eiffel. The GTK library itself contains widgets, that is, GUI components such as GtkButton or GtkTextView.
GTK depends on the following libraries:
GLib |
A general-purpose utility library, not specific to graphical user interfaces. GLib provides many useful data types, macros, type conversions, string utilities, file utilities, a main loop abstraction, and so on. |
GObject |
A library that provides a type system, a collection of fundamental types including an object type, a signal system. |
GIO |
A modern, easy-to-use VFS API including abstractions for files, drives, volumes, stream IO, as well as network programming and DBus communication. |
cairo |
Cairo is a 2D graphics library with support for multiple output devices. |
Pango |
Pango is a library for internationalized text handling. It centers around the PangoLayout object, representing a paragraph of text. Pango provides the engine for GtkTextView, GtkLabel, GtkEntry, and other widgets that display text. |
GdkPixbuf |
This is a small library which allows you to create GdkPixbuf ("pixel buffer") objects from image data or image files. Use a GdkPixbuf in combination with GtkImage to display images. |
graphene |
This is a small library which provides vector and matrix datatypes and operations. graphene provides optimized implementations using various SIMD instruction sets such as SSE. |
GDK |
GDK is the abstraction layer that allows GTK to support multiple windowing systems. GDK provides window system facilities on Wayland, X11, Windows, and OS X. |
GSK |
GSK is a library for creating a scene graph from render nodes, and rendering it using different rendering APIs. GSK provides renderers for OpenGL, Vulkan and cairo. |