⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ liste des méthodes
tkinter.bindtags ( )
⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ liste des méthodes
tkinter.bindtags ( )
DESCRIPTION.
Modifie, ou retourne, l'ordre des marques de liaisons d'une fenêtre en précisant leur priorité d'évaluation.
SYNTAXE.
widget.bindtags ( ordre )
widget ⇨ controle quelconque de l'interface [ OBLIGATOIRE ]
.bindtags ( ) ⇨ appel de la méthode [ OBLIGATOIRE ]
ordre ⇨ ordre des liaisons attachés au controle [ OBLIGATOIRE ]
REMARQUES.
Lors d'utilisation de l'une méthode tkinter.bind ( ), tkinter.bind_class ( ) ou tkinter.bind_all ( ), une liaison (tag de liaison) est associée au controle, à une classe ou à tous les éléments de la fenêtre ou de l'application. Les controles contiennent la liste de tout ces tags, afin de déterminer dans quel ordre, celui définit par tkinter.bind ( ), par tkinter.bind_class ( ) ou par tkinter.bind_all ( ), un événement sera traité en premier pour savoir quelle fonction sera invoquer en priorité avec la survenue de l’événement.
ordre est un tuple ( ) composé, obligatoirement de tous, les éléments suivant :
- "all" , il correspond aux événements définis avec tkinter.bind_all ( ) ;
- "." , il correspond aux événements définis avec tkinter.bind ( ) pour le conteneur du controle appelant ;
- type , où type est une classe par exemple "Button" ou "Scale", il correspond aux événements définis avec tkinter.class ( ) ;
- nom , où nom est l'identifiant du controle appelant par exemple ".!button2" ou ".!scale4", il correspond aux événements définis avec tkinter.bind ( ) du controle appelant. Si le controle appelant est la fenêtre principale de l'application, crée avec tkinter.Tk ( ), l'élément nom sera absent.
L'ordre, dans le quel sont placés les éléments, par exemple widget.bindtags ( ( ".!button2" , "all" , "Button" , "." ) ) ou widget.bindtags ( ( "Button" , "all" , "." , ".!button2" ) ), détermine le niveau de priorité des gestionnaires d'événements. Celui à l'index 0 sera exécuté en premier, puis celui de l'index 1, suivi de celui à l'index 2, et enfin celui à l'index 3 s'il est présent.
Si ordre est absent, tkinter.bindtags ( ) retourne un tuple ( ), indiquant l'ordre actuel des priorités pour le controle appelant.
Voir aussi : les événements dans tkinter et la classe tkinter.Events ( ) pour des informations détaillées sur la gestion des événements dans tkinter.
EXEMPLE.
import tkinter
def FNC_Modifier ( Q ) :
if Q == 0 : BUT_Quitter.bindtags ( ( ".!button2" , "Button" , "." , "all" ) )
if Q == 1 : BUT_Quitter.bindtags ( ( "." , ".!button2" , "all" , "Button" ) )
if Q == 2 : BUT_Quitter.bindtags ( ( "Button" , "all" , "." , ".!button2" ) )
if Q == 3 : BUT_Quitter.bindtags ( ( "all" , ".!button2" , "Button" , "." ) )
BOX_Tags.delete ( 0 , "end" )
for ktag in BUT_Quitter.bindtags ( ) :
BOX_Tags.insert ( "end" , ktag )
TKI_Principal = tkinter.Tk ( )
BUT_Quitter = tkinter.Button ( TKI_Principal , text = "Quitter" , command = TKI_Principal.destroy )
BUT_A = tkinter.Button ( TKI_Principal , text = "Ordre A" , command = lambda : FNC_Modifier ( 0 ) )
BUT_B = tkinter.Button ( TKI_Principal , text = "Ordre B" , command = lambda : FNC_Modifier ( 1 ) )
BUT_C = tkinter.Button ( TKI_Principal , text = "Ordre C" , command = lambda : FNC_Modifier ( 2 ) )
BUT_D = tkinter.Button ( TKI_Principal , text = "Ordre D" , command = lambda : FNC_Modifier ( 3 ) )
BOX_Tags = tkinter.Listbox ( TKI_Principal , height = 6 , width = 10 )
for ktag in BUT_Quitter.bindtags ( ) : BOX_Tags.insert ( "end" , ktag )
BOX_Tags.grid ( row = 0 , column = 0 , rowspan = 4 , sticky = "nesw" )
BUT_A.grid ( row = 0 , column = 1 , sticky = "nesw" )
BUT_Quitter.grid ( row = 0 , column = 2 , rowspan = 4 , sticky = "nesw" )
BUT_B.grid ( row = 1 , column = 1 , sticky = "nesw" )
BUT_C.grid ( row = 2 , column = 1 , sticky = "nesw" )
BUT_D.grid ( row = 3 , column = 1 , sticky = "nesw" )
TKI_Principal.mainloop ( )
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de