Créer une application GNOME en Python
Un article de Wikipatate.
Version du 17 décembre 2007 à 00:52 (modifier) Patatux (Discuter | contributions) ← Différence précédente |
Version actuelle (17 décembre 2007 à 23:26) (modifier) Patatux (Discuter | contributions) (→Une application minimale) |
||
Ligne 14: | Ligne 14: | ||
D'un point de vue utilisateur, une application gtk a la couleur et le goût d'une application GNOME, mais il lui manque l'ergonomie générale de GNOME. Je pense ici par exemple aux toolbars incluses dans des bonobodocks ce qui permet à l'utilisateur de personnaliser complètement l'interface pour une quantité de ligne de code et de sueur nulle pour le programmeur. Le programmeur, justement, dispose lui aussi d'outils sous GNOME qui lui changerons la vie. Sans même parler des widgets supplémentaires que lui fournissent les bibliothèques GNOME, je me demande encore comment j'ai pu vivre sans gconf qui permet de gérer sans effort la config et les préférences utilisateur de mes applications | D'un point de vue utilisateur, une application gtk a la couleur et le goût d'une application GNOME, mais il lui manque l'ergonomie générale de GNOME. Je pense ici par exemple aux toolbars incluses dans des bonobodocks ce qui permet à l'utilisateur de personnaliser complètement l'interface pour une quantité de ligne de code et de sueur nulle pour le programmeur. Le programmeur, justement, dispose lui aussi d'outils sous GNOME qui lui changerons la vie. Sans même parler des widgets supplémentaires que lui fournissent les bibliothèques GNOME, je me demande encore comment j'ai pu vivre sans gconf qui permet de gérer sans effort la config et les préférences utilisateur de mes applications | ||
== Une application minimale == | == Une application minimale == | ||
- | Je vais ici reprendre le petit « Hello world » que j'ai créé pour le [[Créez une application en python grâce à Glade3|tutoriel Glade]], en l'adaptant aux bibliothèques GNOME. Je vous incite donc à le (re)lire. Le seul changement, si vous désirez suivre ce tuto pour votre application sera d'utiliser un widget "Application Gnome" au lieu d'une simple fenêtre | + | === Interface utilisateur === |
+ | Je vais ici reprendre le petit « Hello world » que j'ai créé pour le [[Créez une application en python grâce à Glade3|tutoriel Glade]], en l'adaptant aux bibliothèques GNOME. Je vous incite donc à le (re)lire. Le seul changement, si vous désirez suivre ce tuto pour votre application sera d'utiliser un widget "Application Gnome" au lieu d'une simple fenêtre. Vous réglerez les paramètres comme suit : | ||
+ | {| | ||
+ | |http://wikipatate.free.fr/wiki/images/artgnomepython/gnomepy1.png | ||
+ | |} | ||
+ | Laissez le reste des options à leur valeurs par défaut (ou amusez-vous à les tripatouiller à vos risques et périls. Pour les plus faignants, ou ceux d'entre vous qui connaissent déjà glade, le fichier se trouve [http://wikipatate.free.fr/sac_a_patate/pygnome/hello_world_gnome1.glade ici] | ||
+ | |||
+ | === Code === | ||
+ | {|style="float: right" | ||
+ | |http://wikipatate.free.fr/wiki/images/artgnomepython/gnomepy2.png | ||
+ | |} | ||
+ | Cette application simpliste permet de modifier l'apparence d'un gtk.Label en actionnant divers boutons. Le code complet et commenté se trouve [http://wikipatate.free.fr/sac_a_patate/pygnome/hello_world_gnome1.py ici]. | ||
+ | |||
+ | Commençons par le commencement, les imports : | ||
+ | |||
+ | <pre> | ||
+ | import sys,pango | ||
+ | import gnome | ||
+ | try: | ||
+ | import pygtk | ||
+ | pygtk.require("2.0") | ||
+ | except: | ||
+ | pass | ||
+ | try: | ||
+ | import gtk | ||
+ | import gtk.glade | ||
+ | except: | ||
+ | sys.exit(1) | ||
+ | </pre> | ||
== Annexes == | == Annexes == |
Version actuelle
/!\ Cet article est en construction et suit un plan euh... et n'a pas de plan du tout
Sommaire |
Avant Propos
À qui ce tutoriel s'adresse-t-il?
A tout ceux qui veulent créer un application GNOME en python :),et qui n'ont pas trouvé de doc complète et satisfaisante sur le net ou ailleurs.
Que puis-je y apprendre?
Tout dépend de ce que vous connaissez déjà! Je passerais rapidement sur la création d'interfaces graphiques avec Glade, le sujet ayant été sur-documenté ici ou ailleurs, (cf. Bibliographie) et je n'expliquerais pas ou peu les concepts de gtk. Ce tutoriel se vise surtout à vous apprendre les concepts purement GNOME et comment intégrer au mieux votre application à cet environnement de bureau.
Introduction
Pourquoi GNOME?
Parce que c'est mon environnement de bureau!!!
Pourquoi Python?
C'est à mon humble avis le meilleur des langages de script modernes lorsqu'il s'agit de faire des applications « généralistes » (par opposition par exemple aux application orientés analyse de texte pour lesquelles Perl reste incontournable ou les petit scripts d'automatisation de tâches administratives pour lesquelles j'utilise bash).
Quelle différence y a-t-il entre une application gtk et une application GNOME?
D'un point de vue utilisateur, une application gtk a la couleur et le goût d'une application GNOME, mais il lui manque l'ergonomie générale de GNOME. Je pense ici par exemple aux toolbars incluses dans des bonobodocks ce qui permet à l'utilisateur de personnaliser complètement l'interface pour une quantité de ligne de code et de sueur nulle pour le programmeur. Le programmeur, justement, dispose lui aussi d'outils sous GNOME qui lui changerons la vie. Sans même parler des widgets supplémentaires que lui fournissent les bibliothèques GNOME, je me demande encore comment j'ai pu vivre sans gconf qui permet de gérer sans effort la config et les préférences utilisateur de mes applications
Une application minimale
Interface utilisateur
Je vais ici reprendre le petit « Hello world » que j'ai créé pour le tutoriel Glade, en l'adaptant aux bibliothèques GNOME. Je vous incite donc à le (re)lire. Le seul changement, si vous désirez suivre ce tuto pour votre application sera d'utiliser un widget "Application Gnome" au lieu d'une simple fenêtre. Vous réglerez les paramètres comme suit :
![]() |
Laissez le reste des options à leur valeurs par défaut (ou amusez-vous à les tripatouiller à vos risques et périls. Pour les plus faignants, ou ceux d'entre vous qui connaissent déjà glade, le fichier se trouve ici
Code
![]() |
Cette application simpliste permet de modifier l'apparence d'un gtk.Label en actionnant divers boutons. Le code complet et commenté se trouve ici.
Commençons par le commencement, les imports :
import sys,pango import gnome try: import pygtk pygtk.require("2.0") except: pass try: import gtk import gtk.glade except: sys.exit(1)
Annexes
Remerciements
Ma maman et mon papa sans qui rien de tout cela n'aurait été possible. Merci encore.