⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ controles standards ⇨ Canvas
tkinter.Canvas ( ).scan_dragto ( )
⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ controles standards ⇨ Canvas
tkinter.Canvas ( ).scan_dragto ( )
DESCRIPTION.
Calcule la distance entre les coordonnées, du point pivot, précisées et les coordonnées d'un point de référence.
SYNTAXE.
CAN_Toile.scan_dragto ( abscisse , ordonnee , facteur )
CAN_Toile ⇨ instance quelconque de tkinter.Canvas ( ) [ OBLIGATOIRE ]
.scan_dragto ( ) ⇨ appel de la méthode [ OBLIGATOIRE ]
abscisse ⇨ abscisse du point pivot [ OBLIGATOIRE ]
ordonnee ⇨ ordonnée du point pivot [ OBLIGATOIRE ]
facteur ⇨ coefficient multiplicateur du pas [ optionnel ]
REMARQUES.
abscisse est un int ( ) indiquant l'abscisse du point pivot.
ordonnee est un int ( ) indiquant l'ordonnée du point pivot.
facteur est un float ( ) fixant le coefficient à appliquer aux distances réelles avant de retourner les valeurs. Par défaut, facteur vaut 10.0.
La méthode tkinter.Canvas ( ).scan_dragto ( ) calcule la distance (différence) entre :
- abscisse et le premier argument passé lors du dernier appel de la méthode tkinter.Canvas ( ).scan_mark ( ) ;
- ordonnee et le deuxième argument passé lors du dernier appel de la méthode tkinter.Canvas ( ).scan_mark ( ) ;
- multiplie ces deux résultats par facteur ;
- déplace 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