Tkinter : les widgets
encore appelé Windows gadget, le widget est un constituant d'une interface graphique qui permet à l'utilisateur d'interagir plus efficacement avec le logiciel. dans cette partie, nous allons voir les différents type de widgets offert par tkinter ainsi que leur options
Variable_contenant_le_widget = Widget(parent, option1 = valeur,1 option2 = valeur2,……………,
optionN = valeur N )
Widget : la première lettre du widget est
toujours en majuscule
Parent : c’est soit la fenêtre, soit un autre
widget qui contient le widget nommé par Variable_contenant_le_widget
Option = valeur : ce sont les caractéristiques des
widgets dépendante de leur type. Ces paramètres sont séparé par des virgules , .
La class Button
Ce sont les widgets
cliquables sur l’écran permettant à l’utilisateur d’interagir avec
l’application.
Exemple :
monBoutton = Button (fenetre,
text="nom du button", font=("magneto",25,"bold","italic"),
bg="gold",fg="black", command=fenetre.quit)
Options :
bg ou background :
couleur de fond du bouton
fg ou foreground :
couleur d’avant plan (texte du bouton)
width :
longueur du bouton en nombre de caractère
height :
largeur du bouton en nombre de caractère
relief : appearance du widget (SUNKEN, RAISED, GROOVE,
RIDGE, SOLID, FLAT)
overrelief :
relief lorsque la souris est sur le bouton
image :
l’image associé au widget
text :
le texte du widget
textvariable :
la variable qui va commander le texte afficher par le bouton
command :
la fonction exécuter par le bouton
font :
la mise en forme du texte du widget (style,taille,bold,italic)
La class Frame
C’est un widget qui sert de support entre la fenêtre et les autres widgets. Ils se collent directement sur la fenêtre ou sur un autre widget
Frame1=Frame (fenetre, options)
Exemple :
frame=Frame(fenetre,width=800,height=500,bg="black",relief="raised",cursor="arrow")
Les options :
bg ou background :
couleur de fond
width :
longueur en pixel
height :
largeur en pixel
relief : apparence du widget (SUNKEN, RAISED, GROOVE,
RIDGE, SOLID, FLAT)
La
class Label
Ce sont des étiquettes
appliqué aux widgets. Elles permettent d’afficher un texte ou une image ou les
2.
Exemple :
Pays=StringVar()
lab=Label(fenetre,textvariable=Pays,text="etiquet",bg="green",fg="blue",font=("magneto",25,"bold","italic"),relief="sunken")
Les Options :
bg ou background :
couleur de fond
fg ou foreground :
couleur d’avant plan
width :
longueur en nombre de caractère
height :
largeur en nombre de caractère
relief : apparence du widget (SUNKEN, RAISED, GROOVE,
RIDGE, SOLID, FLAT)
image :
l’image associé au widget
text :
le texte du widget
textvariable :
la variable qui va commander le texte du label. L’utilisation de textvariable
annule l’utilité de l’option text
font :
la mise en forme du text du widget (style,taille,bold,italic)
compound :
permet d’afficher un texte et une image à la fois. Elle prend pour valeur ‘left’, ‘right’,
‘bottom’,’center’
state :
défini si le widget est activé ou désactivé (disabled
ou normal)
La Class Radiobutton
Ce sont des buttons
permettant de faire des choix uniques
Exemple :
Pays=StringVar()
Radio1=Radiobutton(fenetre,
bg=’red’, text=’Yaounde’
font=("verdana",10) , fg='black', command=None,
variable=Pays, value=’Cameroun’)
Radio2=Radiobutton(fenetre,
bg=’red’, text=’abidjan’
font=("verdana",10) , fg='black', command=None,
variable=Pays,value=’cote ivoire’)
Options :
bg ou background :
couleur de fond
fg ou foreground :
couleur d’avant plan
width :
longueur du texte ou de l’image
height :
largeur du texte ou de l’image
relief : apparence du widget (SUNKEN, RAISED, GROOVE,
RIDGE, SOLID, FLAT)
overrelief :
relief lorsque la souris est sur le Radiobutton
image :
l’image associé au widget
text :
le texte du widget
variable :
la variable qui va récupérer la valeur de value après que le Radiobutton soit
cocher
command :
la fonction exécuter par le Radiobouton
value :
la valeur attribué à la variable après que le Radiobutton sera coché
font :
la mise en forme du texte du widget (style,taille,bold,italic)
compound :
permet d’afficher un texte et une image à la fois. Elle prend pour valeur ‘left’, ‘right’,
‘bottom’,’center’
state :
défini si le widget est activé ou désactivé (disabled
ou normal)
La class Checkbutton
Ce sont les cases à
cocher prenant la valeur 1 ou True pour coché et
0 ou False pour non-coché
Exemple
electricity=IntVar()
check=Checkbutton(fenetre, bg=’blue’,text='allumer le courant',fg=’green’,
command=None, variable=electricity)
Les Options:
bg ou background :
couleur de fond
fg ou foreground :
couleur d’avant plan
width :
longueur en nombre de caractère
height :
largeur en nombre de caractère
relief : apparence du widget (SUNKEN, RAISED, GROOVE,
RIDGE, SOLID, FLAT)
overrelief :relief
lorsque la souris est sur le checkbutton
image :
l’image associé au widget
selectimage :
l’image qui apparait lorsque le checkbutton est cliqué
text :
le texte du widget
variable :
la variable qui va récupérer la valeur du checkbutton
command :
la fonction executer par le checkbutton
font :
la mise en forme du texte du widget (style,taille,bold,italic)
compound :
permet d’afficher un texte et une image à la fois. Elle prend pour valeur ‘left’, ‘right’,
‘bottom’,’center’
offvalue :
donner une valeur à la variable lorsque le Checkbutton est décoché au lieu de 0 ou False. Dans ce cas la variable devra etre un
StringVar().
onvalue :
donner une valeur à la variable lorsque le Checkbutton est coché au lieu de 1 ou True. Dans ce cas la variable devra etre un
StringVar().
state :
défini si le widget est activé ou désactivé (disabled
ou normal)
La
Class Entry
Ce sont des zones de
recherche permettant d’entrer un texte
Exemple :
Entrée = Entry (fenetre,
textvariable=None, text="text a entré", font= ("calibri light",25,"bold","italic"),
bg="gold",fg="black",width=50)
Les options :
bg ou background :
couleur de fond
fg ou foreground :
couleur d’avant plan
width :
longueur en nombre de caractère
relief: apparence du widget (SUNKEN, RAISED, GROOVE, RIDGE,
SOLID, FLAT)
overrelief :
relief lorsque la souris est sur le Entry
show :
défini le type de caractère affiché (utilisé pour les mot de passe)
text :
le texte du widget
state :
défini si le widget est activé ou désactivé (disabled
ou normal)
textvariable :
la variable qui va commander le texte de l’entry
font :
la mise en forme du texte du widget (style,taille,bold,italic)
xscrollcommad :
lorsque le widget est defilable par un Scrollbar
La
Class Scale
Ce sont des curseurs qui
permettent de naviguer entre un nombre précis de valeurs à intervalle régulier
bordure =Scale( fenetre, from_=0.0,
to=90.0, tickinterval=15, orient="horizontal",
command=None, length=300, sliderlength=30, relief="groove", variable=None)
Les options :
bg ou background :
couleur de fond
fg ou foreground :
couleur d’avant plan
length :
longeur du widget
sliderlength :
longueur du curseur de défilement en pixel
relief : apparence du widget (SUNKEN, RAISED, GROOVE,
RIDGE, SOLID, FLAT)
sliderrelief :
relief lorsque la souris est sur le bouton
label :
l’etiquette associé au widget
state :
défini si le widget est activé ou désactivé (disabled
ou normal)
variable :
la variable qui va récupérer la valeur courante du curseur
command :
la fonction exécuter par le bouton
font :
la mise en forme du texte du widget (style,taille,bold,italic)
tickinterval :
l’écart entre les valeur afficher
from_ :
la valeur de départ du widget
to :
la valeur d’arriver du widget
resolution :
la valeur d’avancement du curseur
showvalue :
afficher les valeurs ou non (0 ou 1)
orient :
vertical ou horizontal. Défini l’orientation du Scale
Fonctions associées :
· .get()
· .set(valeur)
La
Class Listbox
Ce sont des listes de
sélection de texte.
Exemple:
liste=Listbox(fenetre,width=20,height=20,font=("magneto",25,"bold","italic"),bg="gold",fg="black",
relief="ridge")
Les options :
bg ou background :
couleur de fond
fg ou foreground :
couleur d’avant plan
width :
longueur en nombre de caractère
height :
largeur en nombre de caractère
relief : apparence du widget (SUNKEN, RAISED, GROOVE,
RIDGE, SOLID, FLAT)
listvariable :
la variable qui va commander les éléments de la liste pour en récupérer la
valeur courante
font :
la mise en forme du text du widget (style,taille,bold,italic)
xscrollcommand :
defilement horizontal du widget
yscrollcommand :
defilement vertical du widget
state :
défini si le widget est activé ou désactivé (disabled
ou normal)
La
Class LabelFrame
C’est un cadre portant
une étiquette pour mieux spécifier l’utilité du widget
Exemple :
lab=Label(fenetre,text='linear Gradient',
bg="black", fg='white', font=("verdana",10,'bold'), compound='left',
image=None, relief="ridge")
cadreLabel=LabelFrame(fenetre,labelanchor=’nw’,labelwidget=lab,width=10,bg=’black’, relief="ridge")
les options :
bg ou background :
couleur de fond
fg ou foreground :
couleur d’avant plan
width :
longueur en nombre de caractère
height :
largeur en nombre de caractère
relief : apparence du widget (SUNKEN, RAISED, GROOVE,
RIDGE, SOLID, FLAT)
font :
la mise en forme du text du widget (style,taille,bold,italic)
labelwidget : permet
de définir le label qui apparaitra sur l’étiquette du widget
state :
défini si le widget est activé ou désactivé (disabled
ou normal)
labelanchor :
la position du label
La
Class Scrollbar
Ce sont les bars de
défilement qui permettent de voir le contenu caché d’un widget
Exemple :
scrolList=Scrollbar(fenetre,command=None,
orient=’horizontal’,relief=’raised’)
les options :
bg ou background :
couleur de fond
width :
longueur en nombre de caractère
relief : apparence du widget (SUNKEN, RAISED, GROOVE,
RIDGE, SOLID, FLAT)
command :
la fonction exécuter par le bouton
orient :
vertical ou horizontal. Défini l’orientation du Scale
state :
défini si le widget est activé ou désactivé (disabled
ou normal)
La
Class spinbox
Ce sont des Entry pour les nombres possédant
des boutons d’incrémentation et décrémentation.
Exemple :
Angle=Spinbox(fenetre, from_=25, to=75, increment=1, bg=’blue’, width=10)
Les options:
bg ou background :
couleur de fond
relief : apparence du widget (SUNKEN, RAISED, GROOVE,
RIDGE, SOLID, FLAT)
state :
défini si le widget est activé ou désactivé (disabled
ou normal)
variable :
la variable qui va récupérer la valeur courante du curseur
command :
la fonction exécuter par le spinbox
increment:
: la valeur d’avancement des 2 curseurs
from_ :
la valeur de départ du widget
to :
la valeur d’arriver du widget
values :
si vous voulez que votre spinbox montre plutôt des mots aux lieux des nombres.
values= (mot, mot2,mot3,…….., motn)
Fonctions associées :
· .get()
· .set(valeur)
La
Class optionMenu
C’est une liste déroulante
assez simple permettant de faire un choix.
Exemple :
Valeur=StringVar()
Choix=(‘train’,’plane’,’boat’)
optionDispo=OptionMenu(fenetre,
Valeur, *Choix)
* Permet d’inclure tour à tour les éléments
du tuple
La
Class Toplevel
Ce sont des fenetres
détaché de la fenetre principal
Exemple :
topl=Toplevel(fenetre)
les Options:
bg ou background :
couleur de fond
width :
longueur en pixel
height :
largeur en pixel
relief : apparence du widget (SUNKEN, RAISED, GROOVE,
RIDGE, SOLID, FLAT)
menu :
le menu associée au widget
Fonctions associées :
·
.overrideredirect(0 ou 1) : pour
afficher les 3 boutons par défauts des fenêtres
·
.lift() : mettre le widget au
premier plan
·
.lower() : mettre le widget en
arrière-plan
·
.geometry() : les dimensions du
widget
·
.title() : le titre du widget
·
.iconify() : icone
La
class MenuButton
Ce sont des barres de
gestionnaire dans nos applications
Exemple :
file=Menubutton(fenetre,text="fichier",font=("kristen
itc",10,"bold"),bg="black")
monMenu= Menu (file) # l’on attribue un menu déroulant au Menubouton file
monMenu.add_command(label="prendre une photo (F3)",font=("kristen itc",10,"bold"),
command=None)
monMenu.add_command(label="quitter (Ctrl+q)",font=("kristen itc",10,"bold"),
command=None)
file.config(menu=
monMenu) # l’on fixe le menu déroulant sur le menuBouton
Les options Menubutton:
bg ou background :couleur
de fond
fg ou foreground :
couleur d’avant plan
width : longueur
en pixel
relief : apparence du widget (SUNKEN, RAISED, GROOVE, RIDGE,
SOLID, FLAT)
text : le
texte du widget
textvariable :
la variable qui va commander le texte du Menu boutons
menu :
le menu qui sera affiche par le menu bouton
Les options Menu :
label :
le texte du widget
bg ou background :
couleur de fond
fg ou foreground :
couleur d’avant plan
image :
l’image associé au widget
variable :
la variable qui va commander le texte du choix
command : la
fonction exécuter par le choix
Fonctions associées :
·
.add_command() : permet
d’ajouter un bouton au menu
·
.add_checkbutton() : permet
d’ajouter un Checkbutton au menu
·
.add_radiobutton() : permet
d’ajouter un Radiobutton au menu
·
.add_cascade() : permet
d’ajouter un sous menu au menu
Le widget Combobox est une liste déroulante qui permet à l’utilisateur de sélectionner une valeur parmi plusieurs options. Il combine une zone de saisie de texte avec une liste déroulante Il est utile pour les entrées de données où l’utilisateur peut choisir parmi des options prédéfinies.
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
combo.pack()
root.mainloop()
Progressbar :
Le widget Progressbar affiche une barre de progression pour indiquer l’état d’une tâche en cours. Il est utile pour montrer la progression d’un téléchargement, d’un traitement ou d’une opération longue.
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.title("Exemple de Progressbar")
style = ttk.Style()
progress = ttk.Progressbar(root, mode="indeterminate", style="TProgressbar") progress.start()
progress.pack()
root.mainloop()
Style :
Le widget Style permet de personnaliser l’apparence des widgets. Vous pouvez définir des styles pour les widgets et les appliquer à l’aide de classes de style.
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
style = ttk.Style()
style.configure("BW.TLabel", foreground="black", background="white")
label = ttk.Label(root, text="Hello, world!", style="BW.TLabel")
label.pack()
root.mainloop()
Button :
Le widget Button est un bouton cliquable qui exécute une action lorsque l’utilisateur le presse. Il est utilisé pour déclencher des événements, comme lancer une action ou ouvrir une fenêtre.
import tkinter as tk
from tkinter import ttk
def button_click():
print("Bouton cliqué !")
root = tk.Tk()
root.title("Exemple de Button")
button = ttk.Button(root, text="Cliquez-moi", command=button_click)
Commentaires
Enregistrer un commentaire