Features - gtkmm - C++ Interfaces for GTK and GNOME (original) (raw)
gtkmm is the official C++ interface for the popular GUI libraryGTK. Highlights include typesafe callbacks, and a comprehensive set of widgets that are easily extensible via inheritance. You can create user interfaces either in code or with the Cambalache User Interface designer, using Gtk::Builder. There'sextensive documentation, including API reference and a tutorial.
gtkmm is free software distributed under the GNU Lesser General Public License (LGPL).
- Use inheritance to derive custom widgets.
- Type-safe signal handlers, in standard C++.
- Polymorphism.
- Use of Standard C++ Library, including strings, containers, and iterators.
- Full internationalisation with UTF8.
- Complete C++ memory management
- Object composition
- Automatic deallocation of dynamically allocated widgets.
- Full use of C++ namespaces.
- No macros.
- Cross-platform: Linux (gcc), FreeBSD (gcc), NetBSD (gcc), Solaris (gcc, Forte), Win32 (gcc, MSVC 2013 or later (gtkmm3), MSVC 2017 or later (gtkmm4)), MacOS X (gcc), others
- Free software and free of cost for both Open Source and proprietary development.
- Discussed, designed and implemented in public.
Other gtkmm-related libraries
gtkmm is a GUI toolkit and nothing more, and it strives to be the best C++ GUI toolkit. That mandate does not cover generic C++ data structures, an XML parser, or database access. Even our signal/slots system is part of a separate (libsigc++) library. However, gtkmm is designed to work well with all other C++ libraries.
Be sure to check out our companion libraries,glibmm (UTF8 strings, etc),pangomm (font layout),libsigc++ (signal/slots) andlibxml++ (XML parser).