⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ controles standards ⇨ Canvas
tkinter.Canvas ( ).find_withtag ( )
⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ controles standards ⇨ Canvas
tkinter.Canvas ( ).find_withtag ( )
DESCRIPTION.
Retourne, dans un tuple ( ), les identifiants de tous les éléments entièrement contenus dans une région donnée.
SYNTAXE.
TPL_Elements = CAN_Toile.find_withtag ( tag )
TPL_Elements = ⇨ variable qui recevra la valeur [ optionnel ]
CAN_Toile ⇨ instance quelconque de tkinter.Canvas ( ) [ OBLIGATOIRE ]
.find_withtag ( ) ⇨ appel de la méthode [ OBLIGATOIRE ]
tag ⇨ tag à recherché [ OBLIGATOIRE ]
REMARQUES.
tag est un str ( ) quelconque qui sera recherché. Tous les éléments peuvent recevoir un ou plusieurs tags. Les éléments possédant un tag commun, forment un groupe d'éléments, et ils pourront donc être appelés ensemble.
EXEMPLE.
import tkinter
def FNC_Cible ( ) :
kabscisse = TKI_Principal.winfo_pointerx ( ) - CAN_Toile.winfo_rootx ( )
kordonnee = TKI_Principal.winfo_pointery ( ) - CAN_Toile.winfo_rooty ( )
kregion = ( kabscisse - 40 , kordonnee - 40 , kabscisse + 40 , kordonnee + 40 )
CAN_Toile.coords ( CAN_Region , kregion )
kelements = CAN_Toile.find_enclosed ( *kregion )
kmessage = f"aux Id. { kelements } qui sont entièrement\n"
kmessage += f"dans la région de centre { kabscisse } : { kordonnee }"
LAB_Cible [ "text" ] = kmessage
TKI_Principal.after ( 100 , FNC_Cible )
def FNC_Selection ( event ) :
kabscisse = TKI_Principal.winfo_pointerx ( ) - CAN_Toile.winfo_rootx ( )
kordonnee = TKI_Principal.winfo_pointery ( ) - CAN_Toile.winfo_rooty ( )
kregion = ( kabscisse - 39 , kordonnee - 39 , kabscisse + 39 , kordonnee + 39 )
krang = LAB_Instruction [ "text" ].split ( ) [ -1 ]
ktag = "&" + krang
CAN_Toile.addtag_enclosed ( ktag , *kregion )
kelements = CAN_Toile.find_withtag ( ktag )
kmessage = ""
for kelement in kelements :
kmessage += f"Maintenant les tags de l'élément Id. { kelement }\n"
kmessage += f"sont : { CAN_Toile.itemcget ( kelement , 'tags' ) }\n\n"
LAB_Message [ "text" ] = kmessage
LAB_Instruction [ "text" ] = f"Cliquez pour ajouter { int ( krang ) + 1 }"
TKI_Principal = tkinter.Tk ( )
BUT_Quitter = tkinter.Button ( TKI_Principal , text = "Quitter" , command = TKI_Principal.destroy )
LAB_Instruction = tkinter.Label ( TKI_Principal , text = "Cliquez pour ajouter 1" )
LAB_Cible = tkinter.Label ( TKI_Principal )
LAB_Message = tkinter.Label ( TKI_Principal , justify = "left" , anchor = "w" , height = 14 )
CAN_Toile = tkinter.Canvas ( TKI_Principal , bg = "palegreen" , width = 290 , height = 290 )
CAN_Region = CAN_Toile.create_rectangle ( 0 , 0 , 0 , 0 )
for kligne in range ( 10 , 270 , 40 ) :
for kcolonne in range ( 10 , 270 , 40 ) :
CAN_Toile.create_rectangle ( kcolonne , kligne , kcolonne + 30 , kligne + 30 , fill = "cornsilk" )
CAN_Toile.bind ( "<ButtonRelease-1>" , FNC_Selection )
LAB_Instruction.pack ( )
LAB_Cible.pack ( )
CAN_Toile.pack ( )
LAB_Message.pack ( fill = "both" )
BUT_Quitter.pack ( fill = "both" )
FNC_Cible ( )
TKI_Principal.mainloop ( )
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de