gtkmm är det officiella C++-gränssnittet för det populära grafiska gränssnittsbiblioteket GTK. Höjdpunkter inkluderar typsäkra återanrop och en omfattande uppsättning komponenter som enkelt kan utökas med hjälp av arv. Du kan skapa användargränssnitt antingen i kod eller med Glade gränssnittsbyggare, med Gtk::Builder. Det finns utförlig dokumentation vilken inkluderar API-referens och en handbok.

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

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.
  • Multiplattform: Linux (gcc), FreeBSD (gcc), NetBSD (gcc), Solaris (gcc, Forte), Win32 (gcc, MSVC 2013 eller senare (gtkmm3), MSVC 2017 eller senare (gtkmm4)), MacOS X (gcc), andra
  • 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, men 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.