Tutoriel Tkinter - Widget Etiquette

  1. Widget d’étiquette Python Tkinter
  2. Changer la police des étiquettes en Python
  3. Changer la ou les couleurs des étiquettes Python Tkinter
  4. Afficher l’image dans l’étiquette Python Tkinter

Le widget Label affiche une chaîne de texte ou une image, dont le contenu est normalement censé ne pas être dynamique. Bien sûr, vous pouvez modifier son contenu si vous le souhaitez.

Widget d’étiquette Python Tkinter

Tkinter Label.py
from sys import version_info
if version_info.major == 2:
    import Tkinter as tk
elif version_info.major == 3:
    import tkinter as tk
    
app = tk.Tk()
labelExample = tk.Label(app, text="This is a Label")
labelExample.pack()
app.mainloop()

Il génère une fenêtre avec une étiquette de texte à l’intérieur de la fenêtre principale.

Étiquette de base de Tkinter

labelExample = tk.Label(app, text = "This is a label")

L’instance de Label affichant "This is a label avec le parent app est LabelExample.

labelExample.pack()

La méthode pack() gère la disposition du widget particulier dans le widget parent. Elle a les options suivantes

pack() Méthode Description
after=widget l’emballer après avoir emballé le widget
anchor=NSEW (or subset) positionner le widget en fonction de
before=widget l’emballer avant d’emballer le widget
expand=bool étendre le widget si la taille du parent augmente
fill=none or x or y or both remplir le widget si le widget grandit
in=master utiliser master pour contenir ce widget
in_=master voir la description de l’option ‘in
ipadx=amount ajouter un rembourrage interne dans la direction x
ipady=amount ajouter un rembourrage interne dans le sens y
padx=amount ajouter du rembourrage dans la direction x
pady=amount ajouter du rembourrage dans le sens y
side=top or bottom or left or right où ajouter ce widget.

Vous pouvez changer les options pour obtenir la disposition différente des widgets d’étiquettes.

La dimension de l’étiquette est spécifiée par la largeur et la hauteur qui appartiennent aux options spécifiques au widget de l’étiquette.

Info

La largeur et la hauteur ont l’unité des unités de texte lorsqu’il contient du texte, et sa taille est en pixels s’il affiche une image.

Vous pouvez obtenir les propriétés d’un label avec la commande dict(label),

Tkinter Label_Get Properties.py
from sys import version_info
if version_info.major == 2:
    import Tkinter as tk
elif version_info.major == 3:
    import tkinter as tk
    
from pprint import pprint
    
app = tk.Tk()
labelExample = tk.Label(app, text="This is a Label", height=15, width=100)
pprint(dict(labelExample))

Les propriétés sont énumérées ci-dessous

{'activebackground': 'SystemButtonFace',
 'activeforeground': 'SystemButtonText',
 'anchor': 'center',
 'background': 'SystemButtonFace',
 'bd': <pixel object at 00000000048D1000>,
 'bg': 'SystemButtonFace',
 'bitmap': '',
 'borderwidth': <pixel object at 00000000048D1000>,
 'compound': 'none',
 'cursor': '',
 'disabledforeground': 'SystemDisabledText',
 'fg': 'SystemButtonText',
 'font': 'TkDefaultFont',
 'foreground': 'SystemButtonText',
 'height': 15,
 'highlightbackground': 'SystemButtonFace',
 'highlightcolor': 'SystemWindowFrame',
 'highlightthickness': <pixel object at 00000000048FF100>,
 'image': '',
 'justify': 'center',
 'padx': <pixel object at 00000000048FED40>,
 'pady': <pixel object at 00000000048FF0D0>,
 'relief': 'flat',
 'state': 'normal',
 'takefocus': '0',
 'text': 'This is a Label',
 'textvariable': '',
 'underline': -1,
 'width': 100,
 'wraplength': <pixel object at 00000000048FED70>}

Maintenant que vous connaissez les propriétés du label, vous pouvez obtenir différentes apparences de label en les changeant.

Changer la police des étiquettes en Python

Nous allons vous montrer ci-dessous différentes méthodes de configuration de la police des étiquettes.

Tkinter Label_Set Text Font.py
from sys import version_info
if version_info.major == 2:
    import Tkinter as tk
elif version_info.major == 3:
    import tkinter as tk

import tkFont    
app = tk.Tk()
labelExample1 = tk.Label(app, text="Customized Label 1", font=("Times", 20))
labelExample2 = tk.Label(app, text="Customized Label 2", 
                         font=("Times", 20, "italic"))

labelFont3 = tkFont.Font(family="Helvetica", size=20, weight=tkFont.BOLD,
                         underline=1, overstrike=1)
labelExample3 = tk.Label(app, text="Customized Label 3", 
                         font=labelFont3)
labelExample1.pack()
labelExample2.pack()
labelExample3.pack()
app.mainloop()

Étiquette Tkinter avec police de texte modifiée

Définir la police d’étiquette Python Tkinter avec un n-uplet

labelExample1 = tk.Label(app, text="Customized Label 1", font=("Times", 20))
labelExample2 = tk.Label(app, text="Customized Label 2", 
                         font=("Times", 20, "italic"))

Un tuple avec le type de nom de police comme premier élément, suivi de la taille, du style comme le poids, l’italique, le soulignement et/ou la surimpression.

Définir la police d’étiquette Python Tkinter avec l’objet tkFont Font

labelFont3 = tkFont.Font(family="Helvetica", size=20, weight=tkFont.BOLD,
                         underline=1, overstrike=1)
labelExample3 = tk.Label(app, text="Customized Label 3", 
                         font=labelFont3)

Vous pouvez aussi utiliser l’objet font dans le module tkFont pour spécifier les propriétés de la police du texte de l’étiquette.

Le type de police dans labelExample3 est la famille de polices Helvetica, taille 20, gras, souligné et surligné.

Tkinter Label_Get Fonts List.py
from sys import version_info
if version_info.major == 2:
    import Tkinter as tk
elif version_info.major == 3:
    import tkinter as tk

import tkFont
from pprint import pprint

app = tk.Tk()
pprint(tkFont.families())  

Changer la ou les couleurs des étiquettes Python Tkinter

Vous pouvez changer la couleur du premier plan et de l’arrière-plan des étiquettes en utilisant les propriétés fg et bg.

labelExample1 = tk.Label(app, text="Customized Color",bg="gray", fg="red")

Tkinter Changer la couleur d'avant-plan et d'arrière-plan du widget

Afficher l’image dans l’étiquette Python Tkinter

La propriété image dans label est utilisée pour afficher l’image dans l’étiquette.

Tkinter Lael_Display Image.py
from sys import version_info
if version_info.major == 2:
    import Tkinter as tk
elif version_info.major == 3:
    import tkinter as tk
    

app = tk.Tk()
logo = tk.PhotoImage(file='python.gif')
labelExample = tk.Label(app, image=logo)
labelExample.pack()
app.mainloop()

Image de Tkinter dans l'étiquette

Avertissement

tk.PhotoImagene pouvait afficher que des images colorées au format GIF, PPM/PGM. Il génère_tkinter.TclError: couldn’t recognize data in image file` si vous utilisez d’autres formats d’image

comments powered by Disqus