Outils pour utilisateurs

Outils du site


dev:python:pygtk:start

Ceci est une ancienne révision du document !


du boot, pc rendu a Nathalie Barret. Pas de retour utilisateur. Fermeture ticket.

IHM pour python avec PyGTK

Présentation générale de la conception d'une application Python utilisant une IHM GTK

  • Les classes Python modélisent les données métier et intègrent les traitements.
  • Le fichier .glade décrit l'interface graphique et inclus le code python.

On peut générer facilement le fichier .glade via l'outil de conception d'interface graphique:

$ sudo apt-get install glade-gtk2

Widgets GTK

Les widgets sont les composants de base permettant de concevoir l'interface graphique de l'application. Cette IHM peut se voir comme un amas hiérarchisé de Widgets:

  • Les Widgets de niveau supérieur sont des conteneurs globaux. Ils ne peuvent pas être contenus dans d'autres widgets
  • Les conteneurs permettent d'organiser/agencer les autres Widgets entre eux.

Un widget ne fait aucune action, il émet simplement un signal lorsqu'un événement se produit. Pour déclencher l'action souhaitée, il faut définir un contrôleur de signal qui se charge d'intercepter le signal et d'appeler la fonction/méthode qui provoque les réactions idoines.

Pour définir un controleur de signal sur un widget, on peut utiliser la méthode GObject.connect:

handler_id = mon_widget.connect(sig_name, func, func_data)

La méthode GObject.connect retourne un identifiant qui pourra être utilisé pour déconnecter ou désactiver temporairement le contrôleur.

Les étapes générales d'utilisation des widgets dans pygtk sont:

  • Appel des fonctions gtk.* permettant d'instancier les widgets
  • Connexion des signaux souhaités aux contrôleurs appropriés.
  • Définition des attributs des widgets
  • Agencement des widgets via les conteneurs
  • Affichage des widget avec l'appel de gtk.Widget.show()

Références

dev/python/pygtk/start.1433508525.txt.gz · Dernière modification : 2021/02/01 21:51 (modification externe)