⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ extension ttk ⇨ Style
tkinter.ttk.Style ( ).lookup ( )
⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ extension ttk ⇨ Style
tkinter.ttk.Style ( ).lookup ( )
DESCRIPTION.
Retourne la valeur de l'attribut du style quand un des controles associé se trouve dans un état précisé.
SYNTAXE.
Valeur = STY_Theme.lookup ( style , attribut , etat , message )
Valeur = ⇨ variable qui recevra la valeur [ optionnel ]
STY_Theme = ⇨ instance quelconque de tkinter.ttk.Style ( ) [ OBLIGATOIRE ]
.layout ( ) ⇨ appel de la méthode [ OBLIGATOIRE ]
style ⇨ identifiant du style [ OBLIGATOIRE ]
attribut ⇨ attribut du style [ OBLIGATOIRE ]
etat ⇨ désignation d'un état valide [ optionnel ]
message ⇨ valeur à retourner par défaut [ optionnel ]
REMARQUES.
style est un str ( ) identifiant un nom de style. Si style n'existe pas dans le thème de styles actuellement utilisé par l'interface graphique, il est créé. style doit avoir la forme :
- ".", qui est le style ancêtre de tous les autres styles du thème ;
- "defaut", où defaut est le nom du style par défaut du type de controle, par exemple "TButton" ;
- "prefixe.defaut", où prefixe.defaut est le nom d'un style obtenu après clonage de defaut, par exemple "boss.TButton".
attribut est un str ( ) identifiant un nom d'attribut valide de style. La liste des attributs possibles, pour un style donné, dépend de la nature du controle qui est associé à ce style. Pour connaitre les attributs de mise en forme d'un type de controle tkinter.ttk, il faut se référé à son homologue tkinter, s'il existe, sinon à la définition du controle tkinter.ttk.
etat est un objet collection tel que list ( ) ou tuple ( ) donc les éléments sont des str ( ) identifiant un état dans lequel un controle pourrait se trouver. un état peut être :
- "active" , quand le pointeur de la souris est sur le controle ;
- "alternate" , quand le contorle est affiché dans un mode alternatif ;
- "backgroud", quand le fond du controle est actif, pour certains Windows et MaOs ;
- "disabled" , quand le controle est désactivé, insensible au action de l'utilisateur ;
- "focus" , quand le controle obtient le focus, les saisies aux clavier sont dirigées vers lui ;
- "hover" , quand le controle à le curseur d'insertion ;
- "invalid" , quand le controle reçoit une valeur non acceptable, par exemple pour une échelle de valeurs ;
- "normal" , quand le pointeur de la souris n'est pas sur le controle ;
- "pressed" , quand l'utilisateur clique sur le controle ;
- "readonly" , quand le controle est en lecture seul, l'utilisateur ne peut pas le modifier ;
- "selected" , quand un bouton radio ou une case à choix sont cochées ;
Si etat est omis, sa valeur par défaut est "normal". A noter : La valeur d'un l'attribut pour l'état "normal" est celle donnée avec la méthode tkinter.ttk.Style ( ).configure ( ). Il ne faut donc pas le préciser si on souhaite la connaitre avec la méthode tkinter.ttk.Style ( ).layout ( ), sinon Python lèvera une exception.
message est un str ( ) quelconque mais valide. message sera retourné si attribut ou etat ne peut être appliqué à style car ils ne sont pas dans les possibilités du type de controle associé à style.
Voir la méthode tkinter.ttk.Style ( ).map ( ) pour plus détails la modification d'aspect en fonction de l'état du controle.
Voir le tutoriel sur les styles tkinter.ttk pour plus d'informations.
EXEMPLE.
import tkinter , tkinter.ttk
TKI_Principal = tkinter.Tk ( )
STY_Theme = tkinter.ttk.Style ( )
STY_Theme.configure ( "Test.TButton" , foreground = "yellow" , background = "red" , borderwidth = 10 )
STY_Theme.map ( "Test.TButton" ,
foreground = [ ( "pressed" , "red" ) , ( "active" , "blue" ) , ( "disabled" , "black" ) ] ,
background = [ ( "pressed" , "lime" ) , ( "active" , "orange" ) , ( "disabled" , "aqua" ) ] ,
relief = [ ( "pressed" , "ridge" ) , ( "active" , "groove" ) , ( "disabled" , "solid" ) ] )
kmessage = tkinter.ttk.Style ( ).lookup ( "Test.TButton" , "foreground" ) + "\n"
kmessage += tkinter.ttk.Style ( ).lookup ( "Test.TButton" , "foreground" , [ "active" ] ) + "\n"
kmessage += tkinter.ttk.Style ( ).lookup ( "Test.TButton" , "foreground" , [ "pressed" ] ) + "\n"
kmessage += tkinter.ttk.Style ( ).lookup ( "Test.TButton" , "foreground" , [ "disabled" ] ) + "\n"
kmessage += tkinter.ttk.Style ( ).lookup ( "Test.TButton" , "orient" , [ "normal" ] , "Demande incorecte." ) + "\n"
tkinter.Label ( TKI_Principal , text = kmessage ).pack ( )
tkinter.ttk.Button ( TKI_Principal , text = "Quitter" , style = "Test.TButton" , command = TKI_Principal.destroy ).pack ( )
TKI_Principal.mainloop ( )
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de