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 is free software distributed under the GNU Lesser General Public License (LGPL).

Vlastnosti

  • Využívá dědičnost k odvození vlastních widgetů.
  • Typově bezpečná obsluha signálů, ve standardním C++.
  • Polymorfizmus.
  • Používá standardní knihovnu C++, včetně řetězců, kontejnerů a iterátorů.
  • Úplná internacionalizace s UTF8.
  • Úplná správa paměti v C++
    • Skladba objektů
    • Automatické uvolňování dynamicky alokovaných widgetů.
  • Plně využívá jmenných prostorů C++.
  • Žádná makra.
  • 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
  • Svobodný software a nulová cena pro vývoj s otevřeným kódem i na komerční bázi.
  • Diskutováno, navrhováno a implementováno veřejně.

Další knihovny vztahující se k gtkmm

gnomemm

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.

Knihovny gnomemm pokrývají některé z těchto dalších úloh, ale jsou volitelné.

libsigc++

Also, be sure to check out our companion libraries, glibmm (UTF8 strings, threading, etc) and libsigc++ (signal/slots).

Ostatní

Be sure to check out Bakery, a framework for constructing gtkmm/gnomemm applications. It allows use of the Document/View architecture.