GIMP Toolkit
|
Initially created for the graphics program the GIMP, the GIMP Toolkit — abbreviated as GTK+ — is one of the two most popular widget toolkits for the X Window System, intended for creating graphical user interfaces. GTK+ and Qt have supplanted Motif, previously the most widely-used X widget toolkit.
Licensed under the LGPL, GTK+ is free (and open source) software, and is part of the GNU Project.
Contents |
Language
GTK+ uses the C programming language, although its designers use an object-oriented paradigm. The GNOME platform bindings provide for C++, Perl, Ruby, Java and Python (PyGTK) bindings; others have written bindings for many other programming languages.
Look and feel
The end-user can configure the look of the toolkit, down to offering a number of different display engines. Engines exist which emulate the look of other popular toolkits or platforms, like Windows 95, Motif, Qt or NEXTSTEP.
Environments that use GTK+
The GNOME environment uses GTK+ as a base, which means that programs written for GNOME use GTK+ as their toolkit. Not only GNOME applications use it, though, and any GTK+ program (or GNOME program, for that matter) can run on top of other desktop environments, such as KDE or Xfce. The GPE Palmtop Environment and Maemo, Nokia's internet tablet framework, also use GTK+ as a base. GTK+ can also run under Microsoft Windows. Some of the more unusual ports include DirectFB and ncurses.
Non-graphics-related code
GTK+ initially contained some utility routines that did not strictly relate to graphics, for instance providing such data structures as linked lists and binary trees. Such general utilities, along with the object system called GObject, have now migrated into a separate library, Glib, which programmers use regularly to develop code that does not require a graphical interface.
GTK+ 2
GTK+ 2 developed with the intention of succeeding GTK+. Its new features include improved text rendering using Pango, a new theme engine, improved accessibility using ATK, complete transition to Unicode using UTF-8 strings and a more flexible API. However, GTK+ 2 lacks compatibility with GTK+ 1, and programmers must port applications to it. Some programs continue to use GTK+ 1, as the original version remains in use, offers less complexity than GTK+ 2, and is more suitable for embedded applications than GTK+ 2.
External links
- GTK+ homepage (http://www.gtk.org/)
- C++ API to GTK+ (http://gtkmm.org/)ca:GTK
da:GTK de:GIMP-Toolkit es:GTK eu:GTK fr:GTK it:GTK hu:GTK nl:GTK ja:GTK pl:GTK plus pt:GTK ru:GTK sv:GTK zh:GTK