⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ controles standards ⇨ Canvas
tkinter.Canvas ( ).addtag_above ( )
⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ controles standards ⇨ Canvas
tkinter.Canvas ( ).addtag_above ( )
DESCRIPTION.
Ajoute un tag à l'élément, de la zone de dessin, après l'élément précisé par son identifiant.
SYNTAXE.
CAN_Toile.addtag_above ( tag , element )
CAN_Toile ⇨ instance quelconque de tkinter.Canvas ( ) [ OBLIGATOIRE ]
.addtag_above ( ) ⇨ appel de la méthode [ OBLIGATOIRE ]
tag ⇨ tag à ajouter à l'élément visé [ OBLIGATOIRE ]
element ⇨ élément précédent l'élément visé [ OBLIGATOIRE ]
REMARQUES.
tag est un str ( ) quelconque qui sera ajouté à la liste des tags associés à l'élément visé. 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.
element peut être un int ( ) représentant l'identifiant numérique, un str ( ) indiquant un tag ou une variable désignant l'élément créés juste avant l'élément devant recevoir le nouveau tag. Si element est l'élément ayant le plus haut identifiant, c'est-à-dire, si c'est le dernier élément créé dans la zone de dessin, la méthode tkinter.Canvas.addtag_above ( ) ne fera rien, mais Python ne lèvera pas d'exception. Si element est un tag désignant un groupe d'éléments, c'est l'élément de ce groupe ayant le plus fort identifiant qui sera sélectionné.
Les éléments créés dans une zone de dessin reçoivent un identifiant numérique (Id) unique qui permet de le gérer. Cette Id est un nombre entier démarrant du chiffre 1 et étant incrémenté de 1 à chaque nouvelle création. Il est aussi possible d'identifier chaque élément en l'affectant à une variable lors de sa création. Par exemple : LigneA = CAN_Zone.create_arc ( ... ) pourra alors être appelé par son identifiant numérique, s'il est connu ou par LigneA.
Pour ajouter le tag tag, à l'élément ayant l'identifiant cible, il faut donc désigner l'élément ayant l'identifiant ( cible - 1 ).
EXEMPLE.
import tkinter
def FNC_Ajouter ( Q ) :
ktag = BUT_Trois [ "text" ].split ( ) [ 1 ]
if Q == "3" : CAN_Zone.addtag_above ( ktag , 3 )
elif Q == "rouge" : CAN_Zone.addtag_above ( ktag , "rouge" )
elif Q == "bleu" : CAN_Zone.addtag_above ( ktag , "bleu" )
elif Q == "vert" : CAN_Zone.addtag_above ( ktag , "vert" )
kmessage = ""
for kelement in range ( 1 , 6 ) : kmessage += f"élément { kelement } : { CAN_Zone.itemcget ( kelement , 'tags' ) }\n"
LAB_Message [ "text" ] = kmessage
ksuivant = int ( ktag ) + 1
BUT_Trois [ "text" ] = f"ajouter { ksuivant } après 3"
BUT_Rouge [ "text" ] = f"ajouter { ksuivant } après rouge"
BUT_Bleu [ "text" ] = f"ajouter { ksuivant } après bleu"
BUT_Vert [ "text" ] = f"ajouter { ksuivant } après vert"
TKI_Principal = tkinter.Tk ( )
BUT_Quitter = tkinter.Button ( TKI_Principal , text = "Quitter" , command = TKI_Principal.destroy )
BUT_Trois = tkinter.Button ( TKI_Principal , text = "ajouter 0 après 3" , command = lambda : FNC_Ajouter ( "3" ) )
BUT_Rouge = tkinter.Button ( TKI_Principal , text = "ajouter 0 après rouge" , command = lambda : FNC_Ajouter ( "rouge" ) )
BUT_Bleu = tkinter.Button ( TKI_Principal , text = "ajouter 0 après bleu" , command = lambda : FNC_Ajouter ( "bleu" ) )
BUT_Vert = tkinter.Button ( TKI_Principal , text = "ajouter 0 après vert" , command = lambda : FNC_Ajouter ( "vert" ) )
LAB_Message = tkinter.Label ( TKI_Principal , justify = "left" , anchor = "w" , height = 6 )
CAN_Zone = tkinter.Canvas ( TKI_Principal , bg = "white" , height = 70 , width = 360 )
CAN_Zone.create_rectangle ( 10 , 10 , 70 , 60 , fill = "blue" , tags = ( "un" , "rectangle" , "bleu" ) )
CAN_Zone.create_rectangle ( 80 , 10 , 140 , 60 , fill = "red" , tags = ( "deux" , "rectangle", "rouge" ) )
CAN_Zone.create_oval ( 150 , 10 , 210 , 60 , fill = "lime" , tags = ( "trois" , "ovale" , "vert" ) )
CAN_Zone.create_oval ( 220 , 10 , 280 , 60 , fill = "blue" , tags = ( "quatre" , "ovale", "bleu" ) )
CAN_Zone.create_line ( 290 , 10 , 350 , 60 , fill = "green" , tags = ( "cinq" , "ligne" , "vert" ) )
CAN_Zone.pack ( )
BUT_Trois.pack ( fill = "both" )
BUT_Rouge.pack ( fill = "both" )
BUT_Bleu.pack ( fill = "both" )
BUT_Vert.pack ( fill = "both" )
LAB_Message.pack ( fill = "both" )
BUT_Quitter.pack ( fill = "both" )
FNC_Ajouter ( None )
TKI_Principal.mainloop ( )
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de