⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ controles standards ⇨ Canvas
tkinter.Canvas ( ).tag_unbind ( )
⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ controles standards ⇨ Canvas
tkinter.Canvas ( ).tag_unbind ( )
DESCRIPTION.
Supprime un lien entre un gestionnaire d'événement et les éléments associés à un tag dans d'une zone de dessin.
SYNTAXE.
CAN_Toile.tag_unbind ( tag , evenement , fonction )
CAN_Toile ⇨ instance quelconque de tkinter.Canvas ( ) [ OBLIGATOIRE ]
.tag_unbind ( ) ⇨ appel de la méthode [ OBLIGATOIRE ]
tag ⇨ groupe d'éléments à délier [ OBLIGATOIRE ]
evenement ⇨ événement à ne plus surveiller [ OBLIGATOIRE ]
fonction ⇨ fonction à ne plus exécuter [ optionnel ]
REMARQUES.
tag est un str ( ) quelconque qui représente l'élément ou le groupe d'éléments qui ne seront plus sensible à evenement.
evenement doit être écrit en suivant une syntaxe, stricte, précise et invariable selon le type d’événement, que l'on souhaite associer au groupe d'éléments. Voir le gestionnaire d'événements 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. Si fonction est absent, le lien sera brisé pour tous les fonction qui auraient été associée à evenement pour le groupe d'éléments tag.
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_Dessus ( ) :
LAB_Avant [ "text" ] = f"Ordre des éléments avant modifications\n{ CAN_Test.find_all ( ) }"
if BUT_Dessus [ "text" ] == "Mettre les VERTS au premier plan" :
BUT_Dessus [ "text" ] = "Mettre les ROSE au premier plan"
CAN_Test.tag_raise ( "vert" )
CAN_Test.tag_lower ( "rose" )
else :
BUT_Dessus [ "text" ] = "Mettre les VERTS au premier plan"
CAN_Test.tag_raise ( "rose" )
CAN_Test.tag_lower ( "vert" )
LAB_Apres [ "text" ] = f"Ordre des éléments après modifications\n{ CAN_Test.find_all ( ) }"
def FNC_Lier ( Q ) :
if Q == "carre" :
if BUT_Carres [ "text" ] == "Désactiver les carrés" :
BUT_Carres [ "text" ] = "Activer les carrés"
CAN_Test.tag_unbind ( "carre" , "<Enter>" )
else :
BUT_Carres [ "text" ] = "Désactiver les carrés"
CAN_Test.tag_bind ( "carre" , "<Enter>" , lambda event : FNC_Type ( "carre" ) )
else :
if BUT_Ronds [ "text" ] == "Désactiver les ronds" :
BUT_Ronds [ "text" ] = "Activer les ronds"
CAN_Test.tag_unbind ( "rond" , "<Enter>" )
else :
BUT_Ronds [ "text" ] = "Désactiver les ronds"
CAN_Test.tag_bind ( "rond" , "<Enter>" , lambda event : FNC_Type ( "rond" ) )
def FNC_Type ( Q ) :
if Q == "sortie" :
CAN_Test.itemconfig ( "texte" , text = "" )
CAN_Test.update ( )
else :
kelement = CAN_Test.find_withtag ( "current" ) [ 0 ]
ktexte = f"Sur un { Q }\nId de l'élément { kelement }"
CAN_Test.itemconfig ( "texte" , text = ktexte )
TKI_Principal = tkinter.Tk ( )
BUT_Quitter = tkinter.Button ( TKI_Principal , text = "Quitter" , command = TKI_Principal.destroy )
BUT_Carres = tkinter.Button ( TKI_Principal , text = "Désactiver les carrés" , command = lambda : FNC_Lier ( "carre" ) )
BUT_Ronds = tkinter.Button ( TKI_Principal , text = "Désactiver les ronds" , command = lambda : FNC_Lier ( "rond" ) )
BUT_Dessus = tkinter.Button ( TKI_Principal , text = "Mettre les VERTS au premier plan" , command = FNC_Dessus )
LAB_Avant = tkinter.Label ( TKI_Principal , relief = "groove" , bd = 3 , height = 2 )
LAB_Apres = tkinter.Label ( TKI_Principal , relief = "ridge" , bd = 3 , height = 2 )
CAN_Test = tkinter.Canvas ( TKI_Principal , bg = "wheat" , width = 300 , height = 300 )
CAN_Test.create_oval ( 200 , 25 , 275 , 100 , fill = "hotpink" , tags = ( "rond" , "rose" ) )
CAN_Test.create_oval ( 25 , 200 , 100 , 275 , fill = "palegreen" , tags = ( "rond" , "vert" ) )
CAN_Test.create_rectangle ( 50 , 50 , 250 , 250 , fill = "sienna" , width = 5 )
CAN_Test.create_rectangle ( 25 , 25 , 100 , 100 , fill = "pink" , tags = ( "carre" , "rose" ) )
CAN_Test.create_rectangle ( 200 , 200 , 275 , 275 , fill = "limegreen" , tags = ( "carre" , "vert" ) )
CAN_Test.create_line ( 30 , 30 , 95 , 95 , fill = "lime" , width = 5 , tags = ( "ligne" , "vert" ) )
CAN_Test.create_line ( 205 , 205 , 270 , 270 , fill = "fuchsia" , width = 5 , tags = ( "ligne" , "rose" ) )
CAN_Test.create_text ( 150 , 150 , fill = "yellow" , font = ( None , 14 ) , justify = "center" , tags = ( "texte" ) )
CAN_Test.tag_bind ( "carre" , "<Enter>" , lambda event : FNC_Type ( "carre" ) )
CAN_Test.tag_bind ( "rond" , "<Enter>" , lambda event : FNC_Type ( "rond" ) )
CAN_Test.tag_bind ( "ligne" , "<Enter>" , lambda event : FNC_Type ( "trait" ) )
CAN_Test.tag_bind ( "all" , "<Leave>" , lambda event : FNC_Type ( "sortie" ) )
CAN_Test.pack ( )
BUT_Carres.pack ( fill = "both" )
BUT_Ronds.pack ( fill = "both" )
BUT_Dessus.pack ( fill = "both" )
LAB_Avant.pack ( fill = "both" )
LAB_Apres.pack ( fill = "both" )
BUT_Quitter.pack ( fill = "both" )
TKI_Principal.mainloop ( )
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de