⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ controles standards ⇨ Canvas
tkinter.Canvas ( ).yview_moveto ( )
⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ controles standards ⇨ Canvas
tkinter.Canvas ( ).yview_moveto ( )
DESCRIPTION.
Défini l'ordonnée, relative, du bord haut de la zone visible d'une zone de dessin.
SYNTAXE.
CAN_Toile.yview_moveto ( ordonnee )
CAN_Toile ⇨ instance quelconque de tkinter.Canvas ( ) [ OBLIGATOIRE ]
.yview_moveto ( ) ⇨ appel de la méthode [ OBLIGATOIRE ]
ordonnee ⇨ ordonnée relative du début de la zone visible [ OBLIGATOIRE ]
REMARQUES.
ordonnee est un float ( ) compris entre en 0.0 et 1.0, où :
- 0.0 représente l'ordonnée du bord haut de la zone d'accessibilité de la zone de dessin et ;
- 1.0 représente l'ordonnée du bord bas de la zone d'accessibilité de la zone de dessin.
L'intervalle (0, 1) représente donc la hauteur totale relative de la zone d'accessibilité. Mais la hauteur totale réelle, en pixels, de la zone d'accessibilité est égale à : scrollregion [ 3 ] - scrollregion [ 1 ], scrollregion étant un attribut de la zone de dessin. L'ordonnée, réelle, de la zone de dessin confondue avec le bord haut de la zone de visibilité équivaut donc à la hauteur réelle multipliée par ordonnee.
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