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. You can create user interfaces either in code or with the Cambalache User Interface designer, using Gtk::Builder. There's extensive documentation, including API reference and a tutorial.

gtkmm ist freie Software, die unter der GNU Lesser General Public License (LGPL) verteilt wird.

Funktionsmerkmale

  • Vererbung zur Ableitung benutzerdefinierter Widgets.
  • Typensichere Signal-Handler, in Standard C++.
  • Polymorphismus.
  • Nutzung der Standard-C++-Bibliothek, einschließlich Zeichenketten, Container und Iteratoren.
  • Vollständige Internationalisierung mit UTF8.
  • Komplette C++-Speicherverwaltung
    • Objekterzeugung
    • Automatische Entkopplung dynamisch zugewiesener Widgets.
  • Volle Nutzung von C++-Namensräumen.
  • Keine Makros.
  • Plattformübergreifend: Linux (gcc), FreeBSD (gcc), NetBSD (gcc), Solaris (gcc, Forte), Win32 (gcc, MSVC 2013 oder neuer (gtkmm3), MSVC 2017 oder neuer (gtkmm4)), MacOS X (gcc) und andere
  • Freie, kostenlose Software für Open-Source als auch proprietäre Entwicklung.
  • Wird öffentlich besprochen, entworfen und implementiert.

Andere Bibliotheken mit Bezug zu gtkmm

gtkmm ist ein GUI-Toolkit und nicht mehr als das. Wir streben danach, das beste GUI-Toolkit für C++ zu entwickeln. Dieser Auftrag schließt nicht generische C++-Datenstrukturen, einen XML-Parser oder Datenbankzugriffe ein. Selbst unser Signale/Slots-System ist Teil einer separaten (libsigc++) Bibliothek. Dennoch ist gktmm entworfen worden, um gut mit allen anderen C++-Bibliotheken zusammen zu arbeiten.

Be sure to check out our companion libraries, glibmm (UTF8 strings, etc), pangomm (font layout), libsigc++ (signal/slots) and libxml++ (XML parser).