⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ extension ttk
tkinter.ttk.state ( )
⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ extension ttk
tkinter.ttk.state ( )
DESCRIPTION.
Modifie ou retourne l'état dynamique d'un controle.
SYNTAXE.
Valeur = widget.state ( etats )
Valeur = ⇨ variable qui recevra la valeur [ optionnel ]
widget ⇨ controle quelconque importé du module d'extension tkinter.ttk [ OBLIGATOIRE ]
.instate ( ) ⇨ appel de la méthode [ OBLIGATOIRE ]
etats ⇨ liste des états du controle [ optionnel ]
REMARQUES.
etats est une list ( ) valide dont les éléments sont des str ( ) identifiant des états dynamiques valides.
Les états dynamiques valides sont :
- "active", le pointeur de la souris se trouve sur le controle et un clique sur le controle provoquera une action ;
- "alternate", l'état du controle a basculé, coché-décoché par exemple ;
- "background", le contrôle est en arrière plan, uniquement pour les système à base de mac et windows ;
- "disabled", le controle est désactivé, il est indisponible pour l'utilisateur ou inactif ;
- "focus", le controle reçoit actuellement le focus, les saisies du clavier lui seront destinées ;
- "hover", le pointeur de la souris se trouve sur le controle ;
- "invalid", la valeurs du contrôle n'est pas valide, elle dépasse le capacité du controle, par exemple pour une échelle de valeur ;
- "pressed", l'utilisateur a cliqué sur le controle, mais n'a pas encore relaché le bouton de la souris ou la touche return ;
- "readonly", l'utilisateur ne peut pas modifier le contenu du controle, mais il n'est pas désactivé, il est en lecture seule ;
- "selected", la case du controle est cochée, en position sélectionnée ;
Si le nom d'un état dynamique est précédé d'un point d'exclamation, l'état est supprimé du controle. Par exemple :
- widget.state ( [ "focus" ] ), donne le focus au controle ;
- widget.state ( [ "!focus" ] ), retire le focus du controle.
Si etats est absent la méthode tkinter.ttk.instate ( ) retourne un tuple ( ) contenant tous les états dynamiques dans lesquels se trouve le controle au moment de l'appel.
EXEMPLE.
import tkinter , tkinter.ttk
def FNC_Etats ( ) :
LAB_Etats [ "text" ] = f"Etats du bouton [Testez moi] \n { BUT_Test.state ( ) }"
TKI_Principal.after ( 100 , FNC_Etats )
def FNC_Focus ( Q ) :
if Q == "on" : ENT_Focus.state ( [ "focus" ] )
else : ENT_Focus.state ( [ "!focus" ] )
TKI_Principal = tkinter.Tk ( )
BUT_Quitter = tkinter.ttk.Button ( TKI_Principal , text = "Quitter" , command = TKI_Principal.destroy )
BUT_Test = tkinter.ttk.Button ( TKI_Principal , text = "Testez moi" )
BUT_On = tkinter.ttk.Button ( TKI_Principal , text = "focus ON" , command = lambda : FNC_Focus ( "on" ) )
BUT_Off = tkinter.ttk.Button ( TKI_Principal , text = "focus OFF" , command = lambda : FNC_Focus ( "off" ) )
ENT_Focus = tkinter.ttk.Entry ( TKI_Principal , justify = "center" )
ENT_Autre = tkinter.ttk.Entry ( TKI_Principal )
LAB_Etats = tkinter.ttk.Label ( TKI_Principal , justify = "center" )
ENT_Focus.grid ( row = 0 , column = 0 , columnspan = 3 , sticky = "nesw" )
BUT_Test.grid ( row = 1 , column = 0 , sticky = "nesw" )
BUT_On.grid ( row = 1 , column = 1 , sticky = "nesw" )
BUT_Off.grid ( row = 1 , column = 2 , sticky = "nesw" )
LAB_Etats.grid ( row = 2 , column = 0 , columnspan = 3 , sticky = "nesw" )
ENT_Autre.grid ( row = 3 , column = 0 , columnspan = 2 , sticky = "nesw" )
BUT_Quitter.grid ( row = 3 , column = 2 , sticky = "nesw" )
FNC_Etats ( )
TKI_Principal.mainloop ( )
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de