Un exemple simple

Comme entrée en matière avec gtkmm, nous débuterons avec le programme le plus simple qui soit. Ce programme crée une fenêtre vide de 200 x 200 pixels.

Code source

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;
}

Détaillons maintenant chaque ligne de l'exemple

#include <gtkmm.h>

Tous les programmes gtkmm doivent inclure certains fichiers d'en-tête gtkmm ; gtkmm.h inclut la totalité du jeu d'en-têtes gtkmm. En règle générale, ce n'est pas une bonne idée parce que cette façon de faire inclut à peu près un mégaoctet d'en-têtes, mais pour des programmes simples, c'est acceptable.

La ligne suivante :

Gtk::Main kit(argc, argv);
crée un objet Gtk::Main, nécessaire pour toutes les applications gtkmm. Le constructeur de cet objet initialise gtkmm et vérifie les paramètres passés à l'application sur la ligne de commande. Il examine les options standard, comme -display, les enlève de la liste des paramètres en ne gardant que celles qu'il n'a pas reconnues pour un traitement éventuel par l'application. Cela garantit que toutes les applications gtkmm accepteront le même ensemble de paramètres normalisés.

Les deux lignes de code suivantes créent et affichent une fenêtre :

Gtk::Window window;

La deuxième ligne affiche la fenêtre et entre dans la boucle principale de traitement, boucle dont on ne sort qu'à la fermeture de la fenêtre.

Gtk::Main::run(window);

Après avoir incorporé ces lignes de code source dans simple.cc, vous pouvez compiler ce programme avec la commande :

g++ simple.cc -o simple `pkg-config gtkmm-3.0 --cflags --libs`
Notez qu'il est impératif d'entourer l'appel à pkg-config d'apostrophes inverses. Elles demandent à l'interpréteur de commandes d'exécuter la commande entourée et d'intégrer au même emplacement la sortie correspondante dans la ligne de commande.