⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ controles standards ⇨ Canvas
tkinter.Canvas ( ).scan_mark ( )
⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ controles standards ⇨ Canvas
tkinter.Canvas ( ).scan_mark ( )
DESCRIPTION.
Mémorise les coordonnées d'un point de référence.
SYNTAXE.
CAN_Toile.scan_mark ( abscisse , ordonnee )
CAN_Toile ⇨ instance quelconque de tkinter.Canvas ( ) [ OBLIGATOIRE ]
.scan_mark ( ) ⇨ appel de la méthode [ OBLIGATOIRE ]
abscisse ⇨ abscisse du point de référence [ OBLIGATOIRE ]
ordonnee ⇨ ordonnée du point de référence [ OBLIGATOIRE ]
REMARQUES.
abscisse est un int ( ) indiquant l'abscisse du point référence, exprimé en pixel.
ordonnee est un int ( ) indiquant l'ordonnée du point pivot, exprimé en pixel.
La méthode tkinter.Canvas ( ).scan_mark ( ) permet de mémoriser les coordonnées d'un point de référence de la zone de dessin. Ces coordonnées seront, principalement, utilisées par la méthode tkinter.Canvas ( ).scan_dragto ( ) pour déplacer la zone de visibilité de la zone de dessin.
La méthode tkinter.Canvas ( ).scan_dragto ( ) calculera la distance (différence) entre :
- abscisse et le premier argument passé à tkinter.Canvas ( ).scan_dragto ( ) ;
- ordonnee et le deuxième argument passé à tkinter.Canvas ( ).scan_dragto ( ) ;
- multipliera ces deux résultats parle troisième argument passé à tkinter.Canvas ( ).scan_dragto ( ) ;
- déplacera la zone de visibilité à ces nouvelles valeurs.
En général, abscisse et ordonnee correspondent aux coordonnées du pointeur de la souris.
Voir aussi Tutoriel de tkinter.Canvas ( ) : faire défiler une zone de dessin avec la souris pour un complément d'informations.
EXEMPLE.
import tkinter
def FNC_Enfoncer ( event ) :
CAN_Toile.scan_mark ( event.x , event.y )
def FNC_Deplacer ( event ) :
CAN_Toile.scan_dragto ( event.x , event.y , SCA_Vitesse.get ( ) )
TKI_Principal = tkinter.Tk ( )
BUT_Quitter = tkinter.Button ( TKI_Principal , text = "Quitter" , command = TKI_Principal.destroy )
SCA_Vitesse = tkinter.Scale ( TKI_Principal , orient = "horizontal" , from_ = 1 , to = 50 )
CAN_Toile = tkinter.Canvas ( TKI_Principal , bg = "white" , scrollregion = ( -200 , -200 , 1000 , 1000 ) , width = 300 , height = 300 )
for kligne in range ( 9 ) :
CAN_Toile.create_line ( 0 , ( kligne * 100 ) , 800 , ( kligne * 100 ) , fill = "black" )
CAN_Toile.create_line ( ( kligne * 100 ) , 0 , ( kligne * 100 ) , 800 , fill = "black" )
CAN_Toile.create_rectangle ( 10 , 10 , 110 , 110 , fill = "pink" )
CAN_Toile.create_rectangle ( 290 , 10 , 390 , 110 , fill = "red" )
CAN_Toile.create_rectangle ( 10 , 290 , 110 , 390 , fill = "green" )
CAN_Toile.create_rectangle ( 290 , 290 , 390 , 390 , fill = "blue" )
CAN_Toile.create_rectangle ( 180 , 130 , 570 , 170 , fill = "yellow" )
CAN_Toile.create_rectangle ( 130 , 180 , 170 , 570 , fill = "orange" )
CAN_Toile.bind ( "<ButtonPress-1>" , FNC_Enfoncer )
CAN_Toile.bind ( "<Button1-Motion>" , FNC_Deplacer )
CAN_Toile.pack ( )
SCA_Vitesse.pack ( )
tkinter.Label ( TKI_Principal , text = "Sélectionnez une vitesse de défilement" ).pack ( )
BUT_Quitter.pack ( )
TKI_Principal.mainloop ( )
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de