⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ controles standards ⇨ Canvas
tkinter.Canvas ( ).xview_moveto ( )
⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ controles standards ⇨ Canvas
tkinter.Canvas ( ).xview_moveto ( )
DESCRIPTION.
Défini l'abscisse, relative, du bord gauche de la zone visible d'une zone de dessin.
SYNTAXE.
CAN_Toile.xview_moveto ( abscisse )
CAN_Toile ⇨ instance quelconque de tkinter.Canvas ( ) [ OBLIGATOIRE ]
.xview_moveto ( ) ⇨ appel de la méthode [ OBLIGATOIRE ]
abscisse ⇨ abscisse relative du début de la zone visible [ OBLIGATOIRE ]
REMARQUES.
abscisse est un float ( ) compris entre en 0.0 et 1.0, où :
- 0.0 représente l'abscisse relative du bord gauche de la zone d'accessibilité de la zone de dessin et ;
- 1.0 représente l'abscisse relative du bord droit de la zone d'accessibilité de la zone de dessin.
L'intervalle (0, 1) représente donc la largeur totale relative de la zone d'accessibilité. Mais la largeur totale réelle, en pixels, de la zone d'accessibilité est égale à : scrollregion [ 2 ] - scrollregion [ 0 ], scrollregion étant un attribut de la zone de dessin. L'abscisse, réelle, de la zone de dessin confondue avec le bord gauche de la zone de visibilité équivaut donc à la largeur réelle multipliée par abscisse.
EXEMPLE.
import tkinter
def FNC_Action ( event ) :
CAN_Toile.xview_moveto ( SCA_Abscisse.get ( ) )
CAN_Toile.yview_moveto ( SCA_Ordonnee.get ( ) )
kregion = [ int ( kvaleur ) for kvaleur in CAN_Toile [ "scrollregion" ].split ( ) ]
klargeur = kregion [ 2 ] - kregion [ 0 ]
kdebut = int ( klargeur * CAN_Toile.xview ( ) [ 0 ] ) + kregion [ 0 ]
kfin = int ( klargeur * CAN_Toile.xview ( ) [ 1 ] ) + kregion [ 0 ]
kmessage = f"La partie horizontale visible sur { klargeur } pixels :\nva du pixel { kdebut } au pixel { kfin }."
LAB_Horizontal [ "text" ] = kmessage
khauteur = kregion [ 3 ] - kregion [ 1 ]
kdebut = int ( khauteur * CAN_Toile.yview ( ) [ 0 ] ) + kregion [ 1 ]
kfin = int ( khauteur * CAN_Toile.yview ( ) [ 1 ] ) + kregion [ 1 ]
kmessage = f"La partie verticale visible sur { khauteur } pixels :\nva du pixel { kdebut } au pixel { kfin }."
LAB_Vertical [ "text" ] = kmessage
TKI_Principal = tkinter.Tk ( )
BUT_Quitter = tkinter.Button ( TKI_Principal , text = "Quitter" , command = TKI_Principal.destroy )
SCA_Abscisse = tkinter.Scale ( TKI_Principal , orient = "horizontal" , to = 1 , resolution = .05 , command = FNC_Action )
SCA_Ordonnee = tkinter.Scale ( TKI_Principal , to = 1 , resolution = .05 , command = FNC_Action )
LAB_Horizontal = tkinter.Label ( TKI_Principal , relief = "solid" , height = 3 )
LAB_Vertical = tkinter.Label ( TKI_Principal , relief = "solid" , height = 3 )
CAN_Toile = tkinter.Canvas ( TKI_Principal , bg = "white" , scrollregion = ( -200 , -100 , 1000 , 900 ) , width = 400 , height = 250 )
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" )
SCA_Abscisse.grid ( row = 0 , column = 1 , sticky = "nesw" )
SCA_Ordonnee.grid ( row = 1 , column = 0 , sticky = "nesw" )
CAN_Toile.grid ( row = 1 , column = 1 , sticky = "nesw" )
LAB_Horizontal.grid ( row = 2 , column = 1 , sticky = "nesw" )
LAB_Vertical.grid ( row = 3 , column = 1 , sticky = "nesw" )
BUT_Quitter.grid ( row = 4 , column = 1 , sticky = "nesw" )
SCA_Abscisse.set ( .25 )
SCA_Ordonnee.set ( .25 )
FNC_Action ( None )
TKI_Principal.mainloop ( )
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de