Techniques recommandées
Ce chapitre est simplement un condensé de pratiques de bon sens, de lignes directrices générales, et de conseils pour créer des applications gtkmm.
Use GNU autoconf and automake! They are your friends :) Automake examines C files, determines how they depend on each other, and generates a Makefile so the files can be compiled in the correct order. Autoconf permits automatic configuration of software installation, handling a large number of system quirks to increase portability.
Sous-classez vos éléments graphiques pour mieux organiser votre code. Vous devrez probablement sous-classer au moins votre fenêtre principale Window. Ensuite, vous pouvez faire des éléments graphiques enfants et des fonctions membres gestionnaires des signaux de cette classe.
Créez vos propres signaux au lieu de transmettre des pointeurs. Les objets peuvent communiquer entre eux par l'intermédiaire de signaux et de gestionnaires de signaux. C'est plus simple que des objets enregistrant des pointeurs vers d'autres objets, et vice versa, en appelant mutuellement leurs fonctions membres. Les classes de gtkmm utilisent une version spéciale de sigc::signal, mais vous pouvez utiliser les signaux normaux tels que décrits dans la documentation de libsigc++.

Durée de vie d'une application
Most applications will have only one Window, or only one main window. These applications can use the Gtk::Application::run(Gtk::Window&) overload. It shows the window and returns when the window has been hidden. This might happen when the user closes the window, or when your code decides to hide() the window. You can prevent the user from closing the window (for instance, if there are unsaved changes) by overriding Gtk::Window::on_delete_event().
La plupart de nos exemples utilisent cette technique.

Utilisation d'un élément graphique gtkmm
Nos exemples adoptent tous la même structure. Ils suivent ces étapes pour l'utilisation d'un Élément graphique :
Déclarer une variable du type de l'Élément graphique que vous souhaitez utiliser, généralement en tant que variable membre d'une classe conteneur dérivée. Vous pouvez également déclarer un pointeur sur le type de l'élément graphique et le créer avec new dans votre code. Même si vous utilisez l'élément graphique par l'intermédiaire d'un pointeur, ce sera probablement mieux de faire en sorte que ce pointeur soit une variable membre d'une classe conteneur ; vous pouvez ainsi y accéder ultérieurement.
Définissez les attributs de l'élément graphique. Si l'élément graphique n'a pas de constructeur par défaut, vous devez l'initialiser à l'aide de la liste d'initialisations du constructeur de la classe conteneur.
Connectez tout signal que vous souhaitez utiliser aux gestionnaires appropriés.
Empaquetez l'élément graphique dans un conteneur par un appel approprié, par exemple Gtk::Container::add() ou pack_start().
Appelez show() pour afficher l'élément graphique.
Gtk::Widget::show() fait savoir à gtkmm que vous avez terminé de définir les attributs de l'élément graphique et qu'il est prêt à être affiché. Vous pouvez utiliser Gtk::Widget::hide() pour le faire disparaître à nouveau. L'ordre dans lequel vous affichez les éléments graphiques n'a pas d'importance, mais nous suggérons de n'afficher qu'en dernier la fenêtre de plus haut niveau ; ainsi, la fenêtre globale apparaît en ayant tout son contenu déjà dessinée. Sinon, l'utilisateur voit d'abord une fenêtre vierge dans laquelle les éléments graphiques sont tracés progressivement.