⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ controles standards ⇨ Canvas
tkinter.Canvas ( ).bbox ( )
⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ controles standards ⇨ Canvas
tkinter.Canvas ( ).bbox ( )
DESCRIPTION.
Retourne, dans un tuple ( ), les coordonnes des sommets du rectangle contenant tous les éléments appartenant au groupe précisé.
SYNTAXE.
TPL_Valeurs = CAN_Toile.bbox ( tag )
TPL_Valeurs = ⇨ variable qui recevra le tuple ( ) [ optionnel ]
CAN_Toile ⇨ instance quelconque de tkinter.Canvas ( ) [ OBLIGATOIRE ]
.bbox ( ) ⇨ appel de la méthode [ OBLIGATOIRE ]
tag ⇨ tag identifiant le groupe à recherché [ optionnel ]
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.
La méthode tkinter.Canvas ( ).bbox ( ) retourne un tuple ( ) de 4 éléments. Tous ces éléments sont des int ( ) ou float ( ), exprimés en pixels et caractérisant les sommets du rectangle contenant tous les éléments de la zone de dessins appartenant au groupe précisé :
- le premier élément désigne l'abscisse du bord gauche du rectangle ;
- le deuxième élément désigne l'ordonnée du bord haut du rectangle ;
- le troisième élément désigne l'abscisse du bord droit du rectangle ;
- le quatrième élément désigne l'ordonnée du bord bas du rectangle.
Dans le rectangle retourné, on trouvera aussi des éléments n'appartenant pas au groupe recherché.
EXEMPLE.
import tkinter
def FNC_Selection ( Q ) :
if Q == "forme" : ktag = SPI_Formes.get ( )
if Q == "couleur" : ktag = SPI_Couleurs.get ( )
if Q == "python" : ktag = SPI_Python.get ( )
kcoordonnees = CAN_Toile.bbox ( ktag )
CAN_Toile.coords ( CAN_Visuel , kcoordonnees )
LAB_Message [ "text" ] = f'CAN_Toile.bbox ( "{ ktag }" )\nretourne { kcoordonnees }'
def FNC_Survole ( ) :
kelement = CAN_Toile.find_withtag ( "current" )
kmessage = f"Elément { kelement }\n{ CAN_Toile.gettags ( kelement ) }." if kelement else ""
LAB_Survole [ "text" ] = kmessage
TKI_Principal.after ( 200 , FNC_Survole )
TKI_Principal = tkinter.Tk ( )
kformes = [ "carre" , "ligne" , "ovale" , "rond" ]
kcouleurs = [ "red" , "lime" , "blue" , "yellow" , "orange" , "magenta" ]
kspecial = [ "P" , "Y" , "T" , "H" , "O" , "N" ]
BUT_Quitter = tkinter.Button ( TKI_Principal , text = "Quitter" , command = TKI_Principal.destroy )
SPI_Formes = tkinter.Spinbox ( TKI_Principal , values = kformes , command = lambda : FNC_Selection ( "forme" ) )
SPI_Couleurs = tkinter.Spinbox ( TKI_Principal , values = kcouleurs , command = lambda : FNC_Selection ( "couleur" ) )
SPI_Python = tkinter.Spinbox ( TKI_Principal , values = kspecial , command = lambda : FNC_Selection ( "python" ) )
LAB_Survole = tkinter.Label ( TKI_Principal , height = 3 )
LAB_Message = tkinter.Label ( TKI_Principal , relief = "solid" , height = 3 )
CAN_Toile = tkinter.Canvas ( TKI_Principal , bg = "aqua" , width = 250 , height = 170 )
CAN_Visuel = CAN_Toile.create_rectangle ( 0 , 0 , 0 , 0 )
for kvaleur in range ( 6 ) :
kancre = ( kvaleur * 40 ) + 10
kcouleur = kcouleurs.pop ( )
CAN_Toile.create_rectangle ( kancre , 10 , kancre + 30 , 40 , fill = kcouleur , tags = ( "carre" , kcouleur ) )
CAN_Toile.create_oval ( kancre , 50 , kancre + 30 , 80 , fill = kcouleur , tags = ( "rond" , kcouleur ) )
CAN_Toile.create_oval ( kancre , 95 , kancre + 30 , 115 , fill = kcouleur , tags = ( "ovale" , kcouleur ) )
CAN_Toile.create_line ( kancre , 130 , kancre + 30 , 160 , fill = kcouleur , width = 3 , tags = ( "ligne" , kcouleur ) )
kelements = len ( CAN_Toile.find_all ( ) )
for kelement in range ( kelements ) :
ktag = kspecial.pop ( 0 )
CAN_Toile.addtag_above ( ktag , kelement )
kspecial.append ( ktag )
del kformes , kcouleurs , kspecial , kelements
LAB_Survole.pack ( )
CAN_Toile.pack ( )
LAB_Message.pack ( fill = "both" )
SPI_Formes.pack ( )
SPI_Couleurs.pack ( )
SPI_Python.pack ( )
BUT_Quitter.pack ( fill = "both" )
FNC_Survole ( )
TKI_Principal.mainloop ( )
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de