Canalblog
Editer l'article Suivre ce blog Administration + Créer mon blog
Publicité
le blog de Poseidon627
11 avril 2008

PyGTK : Les fenêtres : Label

Il est possible de créer des labels avec mise en forme du texte.
L'idée ici, est d'utiliser les balises HTML, ou plutôt certaines balises.

Ici, encore, nous faisons appel à Pango.
Nous insérons les balises dans le texte, et Pango gère le formatage du texte.

Quelques balises express de mise en forme directe du texte :

<b>        Texte en gras
<i>         Texte en italique
<u>       Texte souligné
<sub>    Texte en indice
<sup>    Texte en exposant
<small> Diminue la taille du texte
<big>      Augmente la taille du texte

La balise utilisée pour mettre le texte en forme le texte est la balise

<span>...</span>

Cette balise dispose d'attributs permettant un champ d'action assez conséquent

Les attributs :

font-family       police à utiliser (défaut : sans-serif)
size                    taille du texte en points (défaut : 10)
style                  normal, oblique ou italic
font-desc          permet de combiner les paramètres précédents en un seul
weight               épaisseur des lettres : ultralight, light, normal, bold, ultrabold, heavy, ou une valeur numérique
foreground        couleur du texte (valeur héxadécimale de la forme : #xxxxxx)
background       couleur du fond (valeur héxadécimale de la forme : #xxxxxx)
underline          Souligner le texte
lang                    pour indiquer la langue
rise                     pour déplacer le texte verticalement

Vous allez me dire ok, mais comment met-on tout cela en oeuvre

La méthode utilisée :

set_markup("<balises>....texte...</balises>")

Rien ne vaut un exemple

Code :

#!/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")

    label = gtk.Label(u"Voici le premier label de ma fenêtre \nje dirais même mieux, de ma première fenêtre \nde la première fenêtre de poseidon627")
    label.set_markup("<span font_desc=\"Courier New 14\" foreground=\"red\"><b>Courier New 14 Gras</b></span>")
    fenetre.add(label)
   
    fenetre.show_all()
    gtk.main()
   
if __name__ == '__main__':
    fenetre()

Résultat :

label_markup

Dans mon exemple, j'utilise la police "Courier New", de taille "14", de couleur "rouge", et je mets le tout en gras à l'aide de la balise <b>

Publicité
Commentaires
le blog de Poseidon627
Publicité
Derniers commentaires
Publicité