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 é um software livre distribuído sob a Licença Pública Geral de Biblioteca GNU (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.

Funcionalidades

  • Usa herança para derivar widgets personalizados.
  • Manipuladores de sinais seguros, em C++ tradicional.
  • Polimorfismo.
  • Uso da biblioteca C++ tradicional, incluindo strings, containers e iterators.
  • Internacionalização completa com UTF8.
  • Gerenciamento de memória em C++ completo
    • Composição de objeto
    • Desalocação automática de widgets alocados dinamicamente.
  • Uso completo da espaços de nomes em C++.
  • Sem macros.
  • 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
  • Software livre e gratuito para desenvolvimento tanto código aberto quanto proprietário.
  • Discutido, desenhado e implementado em público.

Outras bibliotecas relacionadas ao gtkmm

gnomemm

gtkmm é um kit de ferramentas de interface gráfica e nada mais, e visa ser o melhor kit de ferramentas de C++. Este encargo não inclui estruturas de dados C++ genéricas, um interpretador XML ou um acesso a banco de dados. Mesmo nosso sistema de sinais/slots é parte de uma biblioteca separada (libsigc++). Porém, gtkmm é desenhado para funcionar bem com todas as outras bibliotecas C++.

As bibliotecas do gnomemm cobre algumas dessas outras tarefas, mas elas são opcionais.

libsigc++

Também, não deixe de verificar nossas bibliotecas companheiras, glibmm (strings em UTF8, threading, etc.) e libsigc++ (sinais/slots).

Outras

Não deixe de verificar nosso Bakery, uma infraestrutura para construção de aplicativos em gtkmm/gnomemm. Ele permite usar a arquitetura de documento/visão.