le blog de Poseidon627

Blog sur l'informatique

11 avril 2008

PyGTK : Les boutons : Mon premier bouton

Nous allons traiter ici, d'un nouveau widget essentiel dans la création d'interfaces graphiques : Les boutons
Un simple clic sur ces boutons va permettre d'effectuer des actions.

La classe à laquelle on fait appel pour l'implémenter est la classe   

gtk.Button(label=None, stock=None, use_underline=True)

Comme vous le constatez, il y a trois paramètres acceptés - mais pas obligatoires.
Il est tout à fait possible de ne mettre aucun paramètre dans les parenthèses.

Détaillons ces paramètres

label                          Bon, là je pense qu'il n'est pas nécessaire de s'étendre sur la question dans la mesure où deux de mes derniers fils traitent des labels.
stock                        Permet de stocker l'item correspondant à l'image que l'on veut afficher - liste des items ici
use_underline     Permet le paramétrage d'un raccourci composé de la touche ALT + lettre du texte que l'on a fait précéder d'un '_' (underscore)

Par défaut, label=None, stock=None et use_underline=True

Passons maintenant à la partie pratique

Code général - bouton simple :

#!/usr/bin/env python
# -*- Encoding: Latin-1 -*-

import pygtk
pygtk.require('2.0')
import gtk

def fenetre():

    fenetre = gtk.Window(gtk.WINDOW_TOPLEVEL)
    fenetre.set_default_size(400, 200)
    fenetre.set_title("Ma premiere fenetre")
   
    bouton1 = gtk.Button()
    ..........
    """ code à ajouter """
    ..........
    fenetre.add(bouton1)
   
    fenetre.show_all()
    gtk.main()
   
if __name__ == '__main__':
    fenetre()

Résultat :       

btn_simple


Bouton avec label
:

..........
    label = gtk.Label()
    bouton1.set_label("Cliquer ici")
    bouton1.add(label)
..........

Résultat :       

btn_label


Bouton avec label / html
:

..........
    label = gtk.Label()   
    label.set_markup("<span font_desc=\"Courier New 10\" foreground=\"red\"><b>Cliquer ici</b></span>")
    bouton1.add(label)
..........


Résultat
:      

btn_label_html


Bouton avec combinaison de touches
:

Dans la liste des paramètres, rappelons que use_underline est activé par défaut (True). De ce fait, on peut directement passer à la création du code nécessaire pour activer le raccourci.

..........
    label = gtk.Label()   
    bouton1.set_use_underline(1)
    bouton1.set_label("_Cliquer ici")
    bouton1.add(label)
..........


Dans l'exemple, j'ai décidé de mettre un raccourci sur le 'c' de départ, donc j'ai placé le '_' juste avant. Si j'avais opté pour une autre lettre, il aurait fallu que je le place directement devant la lettre en question.
Pour activer le soulignement de la lettre à l'écran, il faut faire appelle à la fonction

set_use_underline(param)
param correspond au paramètre à passer à la fonction :
        1 : soulignement activé
        0 : soulignement désactivé

En appliquant cette méthode, la lettre choisie est soulignée, ce qui indique que faire un ALT+C équivaudrait à cliquer sur le bouton à l'aide de la souris.

Résultat :       

btn_raccourci

Bouton avec image :

Un préalable consiste à aller choisir les items dans la liste des gtk stock items dont j'ai mis le lien dans le détail des paramètres de la classe gtk.Button().
Il faudra récupérer le nom de l'item - dans mon exemple ci-dessous, il s'agit de gtk.STOCK_SAVE.

Code :

    ..........
    bouton1 = gtk.Button(stock=gtk.STOCK_SAVE)
    fenetre.add(bouton1)
    ...........

Résultat :       

btn_item

Posté par Poseidon627 à 23:25 - PyGTK - Commentaires [0] - Rétroliens [0] - Permalien [#]

Commentaires

Poster un commentaire







Rétroliens

URL pour faire un rétrolien vers ce message :
http://www.canalblog.com/cf/fe/tb/?bid=287253&pid=8782284

Liens vers des weblogs qui référencent ce message :