gtkmm ist die offizielle C++-Schnittstelle für die populäre Grafikbibliothek GTK+. Besondere Merkmale sind u.A. Typensichere Callbacks und eine umfassende Menge Widgets, die einfach erweiterbar sind durch Vererbung. Sie können Benutzeroberflächen entweder direkt im Code oder mit dem Glade Oberflächendesigner erstellen, mittels Gtk::Builder. Dafür ist eine ausführliche Dokumentation verfügbar, einschließlich API-Referenz und einem Tutorial.

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

gtkmm follows the official GNOME Platform Bindings release schedule. This guarantees API/ABI-stability and new releases on a predictable schedule, delivering C++ API for the underlying GTK+ and GNOME APIs as soon as possible.

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.
  • Complete C++ memory management
    • Object composition
    • Automatic deallocation of dynamically allocated widgets.
  • Volle Nutzung von C++-Namensräumen.
  • Keine Makros.
  • Plattformübergreifend: Linux (gcc), FreeBSD (gcc), NetBSD (gcc), Solaris (gcc, Forte), Win32 (gcc, MSVC++ .Net 2003, 2005, 2008), 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

gnomemm

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.

Die gnomemm-Bibliotheken decken einige dieser weiteren Aufgaben ab, sie sind aber optional.

libsigc++

Sehen Sie sich unbedingt auch unsere begleitenden Bibliotheken an, glibmm (UTF8-Zeichenketten, Threading usw.) und libsigc++ (Signale/Slots).

Weitere

Sehen Sie sich unbedingt Bakeryan, ein Framework für die Erstellung von gtkmm/gnomemm-Anwendungen. Es ermöglicht die Verwendung der Dokument/Ansicht-Architektur.