⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ controles standards ⇨ Canvas
tkinter.Canvas ( ).find_below ( )
⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ controles standards ⇨ Canvas
tkinter.Canvas ( ).find_below ( )
DESCRIPTION.
Retourne l'Id de l'élément au dessous de l'élément indiqué dan la pile de création.
SYNTAXE.
Variable = CAN_Toile.find_below ( element )
Variable = ⇨ variable qui recevra la valeur [ optionnel ]
CAN_Toile ⇨ instance quelconque de tkinter.Canvas ( ) [ OBLIGATOIRE ]
.find_below ( ) ⇨ appel de la méthode [ OBLIGATOIRE ]
element ⇨ élément de référence [ OBLIGATOIRE ]
REMARQUES.
element peut être un int ( ) représentant l'identifiant numérique, un str ( ) indiquant un tag ou la variable, désignant l'élément.
La méthode tkinter.Canvas ( ).find_below ( ) est utile pour retrouver l'élément suivant celui indiqué, après avoir détruit certains éléments avec la méthode tkinter.Canvas ( ).delete ( ) par exemple.
EXEMPLE.
import tkinter
GLB_Souris = None
GLB_Actif = None
GLB_Avant = None
GLB_Apres = None
def FNC_Ajouter ( Q ) :
kabscisse = ( len ( CAN_Toile.find_withtag ( Q ) ) * 30 ) + 20
if Q == "questhead" : kordonnee = 30
if Q == "error" : kordonnee = 70
if Q == "hourglass" : kordonnee = 110
if Q == "info" : kordonnee = 150
CAN_Toile.create_bitmap ( kabscisse , kordonnee , bitmap = Q , foreground = "white" , tags = ( Q , ) )
def FNC_Dedans ( ) :
global GLB_Actif , GLB_Avant , GLB_Apres , GLB_Souris
if len ( CAN_Toile.find_withtag ( "current" ) ) :
GLB_Actif = CAN_Toile.find_withtag ( "current" )
GLB_Avant = CAN_Toile.find_below ( GLB_Actif )
GLB_Apres = CAN_Toile.find_above ( GLB_Actif )
CAN_Toile.itemconfig ( GLB_Actif , foreground = "lime" )
CAN_Toile.itemconfig ( GLB_Avant , foreground = "gold" )
CAN_Toile.itemconfig ( GLB_Apres , foreground = "red" )
kmessage = f"Elément sous la souris : { GLB_Actif }."
kmessage += f"\nElément précédent : { GLB_Avant }."
kmessage += f"\nElément suivant : { GLB_Apres }."
else :
CAN_Toile.itemconfig ( GLB_Actif , foreground = "white" )
CAN_Toile.itemconfig ( GLB_Avant , foreground = "white" )
CAN_Toile.itemconfig ( GLB_Apres , foreground = "white" )
kmessage = "La souris n'est sur aucun\nélément de la zone de dessin ..."
LAB_Infos [ "text" ] = kmessage
GLB_Souris = TKI_Principal.after ( 50 , FNC_Dedans )
def FNC_Dehors ( event ) :
TKI_Principal.after_cancel ( GLB_Souris )
LAB_Infos [ "text" ] = "La souris n'est plus\ndans la zone de dessin ..."
CAN_Toile.itemconfig ( GLB_Actif , foreground = "white" )
CAN_Toile.itemconfig ( GLB_Avant , foreground = "white" )
CAN_Toile.itemconfig ( GLB_Apres , foreground = "white" )
TKI_Principal = tkinter.Tk ( )
BUT_Quitter = tkinter.Button ( TKI_Principal , text = "Quitter" , command = TKI_Principal.destroy )
BUT_Quoi = tkinter.Button ( TKI_Principal , bitmap = "questhead" , command = lambda : FNC_Ajouter ( "questhead" ) )
BUT_Erreur = tkinter.Button ( TKI_Principal , bitmap = "error" , command = lambda : FNC_Ajouter ( "error" ) )
BUT_Sablier = tkinter.Button ( TKI_Principal , bitmap = "hourglass" , command = lambda : FNC_Ajouter ( "hourglass" ) )
BUT_Info = tkinter.Button ( TKI_Principal , bitmap = "info" , command = lambda : FNC_Ajouter ( "info" ) )
LAB_Infos = tkinter.Label ( TKI_Principal , justify = "left" , anchor = "w" , height = 4 , relief = "sunken" , bd = 5 )
CAN_Toile = tkinter.Canvas ( TKI_Principal , bg = "black" , width = 400 , height = 200 )
for ktype in ( "questhead" , "error" , "hourglass" , "info" ) : FNC_Ajouter ( ktype )
CAN_Toile.bind ( "<Enter>" , lambda event : FNC_Dedans ( ) )
CAN_Toile.bind ( "<Leave>" , FNC_Dehors )
CAN_Toile.grid ( row = 0 , column = 0 , columnspan = 5 , sticky = "nesw" )
LAB_Infos.grid ( row = 1 , column = 0 , columnspan = 5 , padx = 5 , pady = 5 , sticky = "nesw" )
tkinter.Label ( TKI_Principal , text = "Ajouter ..." , justify = "right" ).grid ( row = 2 , column = 0 )
BUT_Quoi.grid ( row = 2 , column = 1 , sticky = "nesw" )
BUT_Erreur.grid ( row = 2 , column = 2 , sticky = "nesw" )
BUT_Sablier.grid ( row = 2 , column = 3 , sticky = "nesw" )
BUT_Info.grid ( row = 2 , column = 4 , sticky = "nesw" )
BUT_Quitter.grid ( row = 3 , column = 0 , columnspan = 5 , sticky = "nesw" )
TKI_Principal.mainloop ( )
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de