1 - A propos du Widget Label Tkinter
Un widget Label implémente une boîte d'affichage où vous pouvez placer du texte, des images... Le texte affiché par ce widget peut être mis à jour à tout moment à l'aide d'un bouton de commande ou une variable du type StringVar().
L'insertion d'un label sur une fenêtre Tkinter est semblable à celui d'un bouton de commande :
1 |
Nom_du_label = Label( Nom_de_la_fenêtre, text ="Texte du label") |
Exemple. (un simple label tkinter)
1 2 3 4 5 6 7 8 9 10 |
# coding: utf-8 from tkinter import* maFenetre = Tk() #Création du label lbl = Label(maFenetre , text = "CRMEF OUJDA") # Placer le label sur la fenêtre lbl.pack() maFenetre.mainloop() |
Ce qui affiche après exécution:
2 - Modifier le texte d'un label Tkinter
Remarque
On peut aussi utiliser un texte variable, afin de donner la possibilité à l'utilisateur de modifier le texte :
1 2 3 4 5 6 7 8 |
# coding: utf-8 from tkinter import * fen = Tk() var = StringVar() label = Label( fen, textvariable=var) var.set("CRMEF OUJDA") label.pack() fen.mainloop() |
On peut aussi changer le texte via une action associé à un bouton de commande:
1 2 3 4 5 6 7 8 9 10 11 12 |
# coding: utf-8 from tkinter import * fen = Tk() def action(): var.set("J'ai changé le texte en cliquant") var = StringVar() label = Label( fen, textvariable=var) var.set("CRMEF OUJDA") b = Button(fen, text = "Essayez", command=action) b.pack() label.pack() fen.mainloop() |
3 - Les options associées à un label Tkinter
- activebackground : définit la couleur de fond du label au survole de la souris.
- activeforeground : définit la couleur du label au survole de la souris.
- anchor : précise la postion du texte. La valeur par défaut est 'center'. Et par suite le texte d'un label est centré par défaut.
- bg (ou background) : couleur du background du label.
- bitmap : affiche une image sur le label
- bd (ou borderwidth) : épaisseur de la bordure autour du label, la valeur par défaut est 2 pixels.
- compound : cette option sert à préciser l’orientation relative de l’image par rapport au texte dans le cas où vous souhaitez afficher à la fois un texte et un graphique sur le label. Les valeur peuvent-être 'left', 'right', 'center', 'bottom' ou 'top'. Si par exemple compound=BOTTOM, l'image sera affiché en-dessous du texte.
- cursor : forme du pointeur de la souris au survole du label.
- disabledforeground : précise la couleur d’avant plan lorsque le label est désactivé.
- font : précise le type et la taille du police (avec l’option text ou textvariable)
- fg (ou foreground) : couleur du texte du label.
- height : hauteur du label en nombre de lignes (non en pixels), le label s'ajuste par défaut à son contenu.
- highlightbackground : cette option définit la couleur de mise en valeur du focus quand le widget l'a perdu.
- highlightcolor : couleur du focus quand le widget l'a obtenu.
- highlightthickness : définit l'épaisseur de la ligne de mise en valeur du focus.
- image : cette option permet d'afficher une image dans un label.
- justify : définit l'alignement du texte: 'left' pour un alignement à gauche, 'center' pour centrer et 'right' pour un alignement à droite.
- padx : permet d'insérer un espace horizontal à gauche et à droite dans le label. Sa valeur par défaut est 1.
- pady : option similaire à padx mais elle agit verticalement.
- relief : définit l'apparence de la bordure autour du label, la valeur par défaut est 'flat'.
- state : cette option est mise par défaut à l'état 'normal'. Les autres états possibles sont 'disabled' et 'active'.
- takefocus : par défaut un label n'obtient pas le focus, mais si vous souhaitez que le label l'obtienne, mettez 1 pour cette option.
- text : permet d'afficher une ou plusieurs ligne de texte dans un label. Pour forcer le retour à la ligne on utilise le caractère '\n'.
- textvariable : permet de lier le texte du label à une variable du type StringVar afin de pouvoir changer le texte du label.
- underline : par défaut, underline=-1, ce qui signifie aucun soulignement. Si on souhaite souligner un des caractères d'un texte on précise sa position (à partir de 0).
- width : définit la largeur du label en nombre de caractères (non en pixels). Un label s'ajuste par défaut à son contenu lorsque cette option n'est pas précisée.
- wraplength : si cette valeur est définie sur un nombre positif, les lignes de texte seront enveloppées pour tenir dans cette longueur.
1 2 3 4 5 6 7 8 9 10 11 12 |
Exemple(label Tkinter avec options) from tkinter import * root = Tk() root.geometry('400x200') var = StringVar() label = Label( root, textvariable=var, relief=RAISED ,\ font=('broadway' , 18) , bg='yellow' , wraplength=150) var.set("Voici un exemple de label avec options") label.pack() root.mainloop() |
Younes Derfoufi
CRMEF OUJDA
1 thought on “Le Widget Label Tkinter”