gtkmm  3.22.0
About: gtkmm is the C++ interface for the popular GUI library Gtk+ and Gnome.
  Fossies Dox: gtkmm-3.22.0.tar.gz  ("inofficial" and yet experimental doxygen-generated source code documentation)  

gtkmm Reference Manual


gtkmm is the official C++ interface for the popular GUI library GTK+. Highlights include typesafe callbacks, and a comprehensive set of widgets that are easily extensible via inheritance.

For instance, see Widgets, Dialogs, TreeView and TextView.

See also the Programming with gtkmm book.


  • GTK+’s mature, capable set of Widgets widgets. See the GTK+ website for more information.
  • Use inheritance to derive custom widgets.
  • Type-safe signal handlers (slots), in standard C++, using libsigc++.
  • Polymorphism.
  • Use of the Standard C++ Library, including strings, containers and iterators.
  • Full internationalisation with UTF8.
  • Complete C++ memory management.
    • Member instances or dynamic new and delete.
    • Optional automatic deletion of child widgets.
    • No manual reference-counting.
  • Full use of C++ namespaces.
  • No macros.

Basic Usage

Include the gtkmm header:

#include <gtkmm.h>

(You may include individual headers, such as gtkmm/button.h instead.)

If your source file is, you can compile it with:

g++ -o program `pkg-config --cflags --libs gtkmm-3.0`

Alternatively, if using autoconf, use the following in


Then use the generated GTKMM_CFLAGS and GTKMM_LIBS variables in the project files. For example:

program_LDADD = $(GTKMM_LIBS)