⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ liste des attributs
Les couleurs dans tkinter
⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ liste des attributs
Les couleurs dans tkinter
DEFINITION.
Les controles (widgets) disponibles avec tkinter disposent de plusieurs attributs permettant de modifier la couleur de leurs éléments : fond et texte. tkinter propose 2 systèmes de codage pour définir les couleurs.
INDIQUER UNE COULEUR PAR SON NOM.
Vous pouvez affecter une couleur à un attribut en utilisant le nom normalisé pour cette couleur.
Les noms standardisés suivants sont disponibles sur tous les systèmes et environnements. Leur utilisation ne devrait jamais lever d'exception. "black" (Noir), "red" (Rouge), "green" (Vert), "yellow" (Jaune), "blue" (Bleu), "magenta" (Fushia), "cyan" (Cyan), "white" (Blanc).
Selon votre système, votre environnement et votre configuration, d'autres noms de couleur sont disponibles, parfois de façon assez répandu, mais aussi parfois de façon spécifique.
INDIQUER UNE COULEUR PAR LES QUANTITES RGV.
Vous pouvez indiquer une couleur en précisant la quantité de rouge (red), de vert (green) et de bleu (blue) qu'elle contient, dans une chaines de caractères, valide, exprimant ces trois quantités en hexadécimal, sur 4, 8, 12 ou 16 bits.
Sur 4 bits pour une palette de 48 couleurs ( 3 x 16 ) :
"#rvb", chaque composantes est représentée par une valeur de 0 à f.
Par exemple : "#57a", avec 5 pour rouge, 7 pour vert, a pour le bleu.
Sur 8 bits pour une palette de 16 millions couleurs ( 3 x 256 ) :
"#rrvvbb", chaque composantes est représentée par une valeur de 00 à ff.
Par exemple : "#64ab17", avec 64 pour rouge, ab pour vert, a17 pour le bleu.
Sur 12 bits pour une palette de 69 milliards couleurs ( 3 x 4096 ) :
"#rrrvvvbbb", chaque composantes est représentée par une valeur de 000 à fff.
Par exemple : "#014fff751", avec 014 pour rouge, fff pour vert, 751 pour le bleu.
Sur 16 bits pour une palette de 2,81¹⁴ couleurs ( 3 x 65535 ) :
"#rrrrvvvvbbbb", chaque composantes est représentée par une valeur de 0000 à ffff.
Par exemple : "#e372ffa95bc6", avec e372 pour rouge, ffa9 pour vert, 5bc6 pour le bleu.
Note : Bien que la méthode .winfo_rgb ( ), retourne un tuple ( ) de 3 int ( ), de 0 à 65535, indiquant des quantités de rouge, de vert et de bleu, il n'est pas possible de les utiliser tel que retournées, sans une conversion en une chaîne de caractères valide. Par exemple, vous pouvez créer une fonction qui retournera une chaîne de caractères valide.
import tkinter
def FNC_Analyser ( ) :
kcode = "#"
kcouleur = ENT_Nom.get ( )
for kprimaire in TKI_Principal.winfo_rgb ( kcouleur ) :
kquantite = "0000" + hex ( kprimaire ) [ 2 : ]
kquantite = kquantite [ len ( kquantite ) - 4 : ]
kcode = kcode + kquantite
LAB_Analyse [ "text" ] = f"{ kcouleur } vaut { kcode }"
TKI_Principal = tkinter.Tk ( )
BUT_Quitter = tkinter.Button ( TKI_Principal , text = "Quitter" , command = TKI_Principal.destroy )
BUT_Analyse = tkinter.Button ( TKI_Principal , text = "Analyser" , command = FNC_Analyser )
ENT_Nom = tkinter.Entry ( TKI_Principal , width = 25 )
LAB_Analyse = tkinter.Label ( TKI_Principal )
ENT_Nom.grid ( row = 0 , column = 0 , sticky = "nesw" )
BUT_Analyse.grid ( row = 0 , column = 1 , sticky = "nesw" )
LAB_Analyse.grid ( row = 1 , column = 0, columnspan = 2 , sticky = "nesw" )
BUT_Quitter.grid ( row = 2 , column = 0 , columnspan = 2 , sticky = "nesw" )
TKI_Principal.mainloop ( )
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de