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

 Déclaration d’un widget :

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


 Combobox :
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.

Exemple d’utilisation :
import tkinter as tk
from tkinter import ttk
root = tk.Tk() 
root.title("Exemple de Combobox")
combo = ttk.Combobox(root, values=["Option 1", "Option 2", "Option 3"])
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.

Exemple d’utilisation :
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.title("Exemple de Progressbar")
style = ttk.Style() 
style.configure("TProgressbar", thickness=20)
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.

Exemple d’utilisation (personnalisation d’un label) :
import tkinter as tk
from tkinter import ttk
root = tk.Tk() 
root.title("Exemple de Style")
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.

Exemple d’utilisation :
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)
button.pack()
root.mainloop()

Commentaires

Posts les plus consultés de ce blog

Galerie de Réalisations Python 🖼️

une Calculatrice simple avec python🧮

Bienvenue sur notre site dédié à la programmation avec Python ! 🐍