LablGtk is an OCaml interface to GTK+.
It comes in two flavors: LablGtk1 for GTK+-1.2 and LablGtk2 for
GTK+-2.0 to GTK+-2.16.
It uses the rich type system of OCaml 3 to provide a strongly
typed, yet very comfortable, object-oriented interface to GTK+ while being compatible with its dynamic typing approach.
Most widgets and methods are available.
In addition to GTK+, LablGtk provides bindings to libglade, gdk-pixbuf,
gnomecanvas, librsvg, libpanel, the GLArea widget (in combination with
LablGL) and OCaml code generation from .glade files.
Many examples are available.
The toplevel can be used for interactive development. Windows is supported too (see the README for build instructions).
The project is developed on the OCaml Forge.
Documentation and tutorials
LablGtk2 Tutorial by SooHyoung Oh
- A nice LablGtk translation of the Gtk+ Tutorial.
See also the
Tree View Tutorial (in progress).
- Latest release of LablGtk2. It fixes a number of bugs, including
an incompatibility between OCaml 3.12 and previous versions. See
the changes for the details.
- Windows binaries for the OCaml 3.11 distribution only (msvc or mingw) for both bytecode and native code.
The required GTK+ dlls are available from the
This is enough for bytecode but native code linking requires a development environment (installation instructions).
There are no extra dependencies since this release has been built with mingw.
- Download area
- All available releases.
- Git access
- The development sources of LablGtk are available on the OCaml forge. The
master branch is for LablGtk2 (a branch named 'lablgtk1' is also available).
The OCaml forge web interface gives access to subscription and archives.
by Maxence Guesdon
- Additional tools and libraries to develop LablGtk2 applications.
- A library to handle various image formats in Caml. Includes
support for LablGtk.
- List of applications using LablGtk
LablGtk for GTK+-1