Table of Contents
General — Mainloop and event handling
Version Information — variables and functions to check the GTK+ version.
Graphics Contexts — provides access to a shared pool of GdkGC objects.
Resource Files — Routines for handling resource files
Keyboard Accelerators
Selections — Functions for handling inter-process communication via selections.
Drag and Drop — Functions for controlling drag and drop handling.
Signals — Object methods and callbacks.
Signal Marshallers — Functions to adapt C structures to native calling convention.
Implementation of Object Properties — Utility function to manipulate lists of named, typed arguments.
Types — Handle run-time type creation.
Standard Enumerations — Public enumerated types used throughout GTK+.
Private Information

GTK+ is a multi-platform open source GUI Toolkit. Everything about GTK+ from the object-oriented design to the Free Software LGPL licensing allows you to code your project with the most freedom possible. You can develop open software, free software, or even commercial non-free software without having to spend a dime for licenses or royalties.

GTK+ is a set of libraries to create graphical user interfaces. It works on many Unix-like platforms, and a Windows version is in development. 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 other languages have been written, including C++, Objective-C, Guile/Scheme, Perl, Python, TOM, Ada95, Free Pascal, and Eiffel.

GTK+ consists of the following component libraries:


Provides many useful data types, macros, type conversions, string utilities and a lexical scanner. Includes Win32 support.


A wrapper for low-level windowing functions.


An advanced widget set.