⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ liste des méthodes
tkinter.bind_class ( )
⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ liste des méthodes
tkinter.bind_class ( )
DESCRIPTION.
Lie un événement (clavier, souris, ...) à tous les controles de la fenêtre ayant le même type, pour qu'ils réagissent tous à cet événement.
SYNTAXE.
widget.bind_class ( type , evenement , fonction , ajout )
widget ⇨ controle quelconque de l'interface [ OBLIGATOIRE ]
.bind_all ( ) ⇨ appel de la méthode [ OBLIGATOIRE ]
type ⇨ type des controles à lier [ OBLIGATOIRE ]
evenement ⇨ événement à surveiller [ OBLIGATOIRE ]
fonction ⇨ fonction à exécuter [ OBLIGATOIRE ]
ajout ⇨ indique si le controle reçoit plusieurs événements [ optionnel ]
REMARQUES.
type doit être le nom de la classe des controles, tel qu'il est nommé dans l'application. Ce nom dépend de la manière dont le module tkinter, et ses classes, ont été importé et renommé ou pas. Voir l'instruction import pour plus d'informations.
evenement doit être écrit en suivant une syntaxe, stricte, précise et invariable selon le type d’événement, que l'on souhaite associer aux controles. Voir le gestionnaire d'événements des controles pour plus de détails sur cette syntaxe.
fonction doit être une fonction, quelconque mais valide. Le nom de la fonction appelée, ne doit pas être suivie des parenthèses car aucun argument ne peut être passé lors de l'appel de la fonction. Attention cependant, car tkinter fournit, automatiquement, un objet tkinter.Event ( ) comme argument à la fonction à exécuter, qui devra donc le prévoir dans sa définition. Toutefois, si des valeurs doivent être fournis pour le traitement correct de la fonction appelée, fonction pourra être une fonction anonyme créée avec l'instruction lambda. Voir la classe tkinter.Events ( ) pour plus d'informations.
L'attribut ajout doit être add = "+" pour préserver les anciennes liaisons. S'il est absent, le ou les liens créés précédemment sur ces controles sont détruits. Si add = "+" est présent, les controles pourront alors être sollicité par plusieurs événements et y répondre, de façon identique, ou différentes, selon le script.
Par convention, on utilise la fenêtre créée avec tkinter.Tk ( ) ou tkinter.Toplevel ( ) pour l'utilisation de cette méthode.
IMPORTANT. Lire attentivement "les événements dans tkinter" et la classe tkinter.Events ( ) pour des informations détaillées sur l'utilisation optimale des méthodes tkinter.bind ( ), tkinter.bind_class ( ) et tkinter.bind_all ( ).
EXEMPLE.
import tkinter
TPL_Couleurs = [ "black" , "red" , "green" , "yellow" , "blue" , "magenta" , "cyan" , "white" ]
def FNC_Couleurs ( event ) :
kactuelle = TPL_Couleurs.index ( LAB_Message [ "foreground" ] )
knouvelle = kactuelle + 1 if kactuelle != 7 else 0
BUT_A [ "background" ] = TPL_Couleurs [ knouvelle ]
BUT_B [ "background" ] = TPL_Couleurs [ knouvelle ]
LAB_Message [ "foreground" ] = TPL_Couleurs [ knouvelle ]
TKI_Principal = tkinter.Tk ( )
BUT_Quitter = tkinter.Button ( TKI_Principal , text = "Quitter" , command = TKI_Principal.destroy )
BUT_A = tkinter.Button ( TKI_Principal , text = "Bouton A" )
BUT_B = tkinter.Button ( TKI_Principal , text = "Bouton B" )
LAB_Message = tkinter.Label ( TKI_Principal , text = "COULEUR" , fg = "black" , font = ( None , 16 , "bold" ) )
TKI_Principal.bind_class ( "tkinter.Button" , "<ButtonRelease>" , FNC_Couleurs )
LAB_Message.pack ( )
BUT_A.pack ( )
BUT_B.pack ( )
BUT_Quitter.pack ( )
TKI_Principal.mainloop ( )
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de