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 Glade User Interface designer, using Gtk::Builder. There's extensive documentation, including API reference and a tutorial.

gtkmm är fri programvara som distribueras under GNU Library General Public License (LGPL).

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.

Funktioner

  • Använder arv för att härleda anpassade komponenter.
  • Typsäkra signalhanterare, i standard C++.
  • Polymorfism.
  • Använder standardbibliotek för C++, inklusive strängar, behållare och iteratorer.
  • Full internationalisering med UTF8.
  • Komplett minneshantering för C++
    • Objektkomposition
    • Automatisk avallokering av dynamiskt allokerade komponenter.
  • Fullständig användning av C++-namnrymder.
  • Inga makron.
  • 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
  • Fri programvara och gratis för både öppen källkods- och proprietär utveckling.
  • Diskuterad, designad and implementerad öppet.

Andra bibliotek relaterade till gtkmm

gnomemm

gtkmm är en verktygslåda för grafiska användargränssnitt och inget annat, och strävar efter att vara den bästa sådana C++-verktygslådan. Detta mandat täcker inte generiska C++-datastrukturer, en XML-tolk eller databasåtkomst. Till och med vårt signal/slot-system är del av ett separat bibliotek (libsigc++). gtkmm är dock designat för att fungera bra med alla andra C++-bibliotek.

gnomemm-biblioteken täcker några av dessa andra uppgifter, med de är valfria.

libsigc++

Titta även närmare på våra kompisbibliotek, glibmm (UTF8-strängar, trådning o.s.v.) och libsigc++ (signal/slot).

Andra

Missa inte att ta en titt på Bakery, ett ramverk för att konstruera gtkmm/gnomemm-program. Det tillåter användning av arkitekturen Document/View.