Exemplo simples

Para iniciar a introdução ao gtkmm, comecemos com o programa mais simples possível. Este programa cria uma janela vazia com 200 x 200 pixels.

Código-fonte

File: base.cc (For use with gtkmm 3, not gtkmm 2)

#include <gtkmm.h>

int main(int argc, char *argv[])
{
  Gtk::Main kit(argc, argv);

  Gtk::Window window;

  Gtk::Main::run(window);

  return EXIT_SUCCESS;
}

Explicaremos agora cada linha do exemplo

#include <gtkmm.h>

Todos os programas gtkmm devem incluir certos cabeçalhos do gtkmm; gtkmm.h inclui todo o kit gtkmm. Isso normalmente não é uma boa ideia, porque inclui um megabyte ou mais de cabeçalhos, mas, para programas simples, é o suficiente.

A próxima linha:

Gtk::Main kit(argc, argv);
cria um objeto Gtk::Main. Isso é necessário para todos os aplicativos gtkmm. O construtor para este objeto inicia o gtkmm e verifica os argumentos passados para o seu aplicativo na linha de comando, buscando por opções padrões como -display. Ele retira essas da lista de argumentos, deixando tudo que ele não reconhecer para o seu aplicativo em si analisar ou ignorar. Isso assegura que todos os aplicativos gtkmm aceitem o mesmo conjunto de argumentos padronizados.

As próximas duas linhas de código criam e exibem uma janela:

Gtk::Window window;

A última linha mostra a janela e entra no laço de processamento principal do gtkmm, que terminará quando a janela for fechada.

Gtk::Main::run(window);

Depois de colocar o código-fonte em simple.cc, você pode compilar o programa acima com o gcc usando:

g++ simple.cc -o simple `pkg-config gtkmm-3.0 --cflags --libs`
Note que você deve envolver a invocação do pkg-config com acentos graves. Os acentos graves fazem com que o shell executem o comando dentro deles, e a usar a saída desse comando como parte da linha de comando.