⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ controles standards ⇨ Text
tkinter.Text ( ).yview ( )
⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ controles standards ⇨ Text
tkinter.Text ( ).yview ( )
DESCRIPTION.
Retourne un tuple ( ) de 2 éléments délimitant la portion verticale visible d'un éditeur de texte.
SYNTAXE.
TPL_Visible = TXT_Editeur.yview ( )
TPL_Visible = ⇨ variable qui recevra la valeur [ optionnel ]
TXT_Editeur ⇨ instance quelconque de tkinter.Text ( ) [ OBLIGATOIRE ]
.yview ( ) ⇨ appel de la méthode [ OBLIGATOIRE ]
REMARQUES.
La méthode tkinter.Text ( ).yview ( ) retourne un tuple ( ) contenant 2 float ( ) compris entre 0.0 et 1.0, où :
- 0.0 représente du bord haut où débutent les lignes de l'éditeur de texte ;
- 1.0 représente du bord bas où se terminent les lignes de l'éditeur de texte.
L'intervalle (0, 1) représente la hauteur totale de l'éditeur de texte. Les 2 éléments du tuple ( ) désignent donc les 2 positions relatives, de début et de fin, de l'intervalle vertical de la partie de actuellement visible de l'éditeur de texte. La partie de l'éditeur de texte comprise entre :
- 0.0 et le premier élément du tuple ( ) est partie cachée au dessus de la partie actuellement visible ;
- le premier élément du tuple ( ) et le deuxième élément du tuple ( ) est la zone actuelle de visibilité ;
- le deuxième élément du tuple ( ) et 1.0 est partie cachée au dessous de la partie actuellement visible.
Les dimensions de la fenêtre de visibilité sont définies par les attributs width et height de l'éditeur de texte. Si le contenu de l'éditeur de texte comporte moins de lignes que la valeur de son attribut height, le tuple ( ) retourné est ( 0.0 , 1.0 ) c'est-à-dire 100% de la hauteur de l'éditeur de texte.
Les valeurs contenues dans le tuple ( ), retourné par la méthode tkinter.Text ( ).yview ( ), seront transmises à la barre de d’ascenseur verticale liée à l'éditeur de texte via :
- l'attribut ycrollcommand de l'éditeur de texte et ;
- l'attribut command de la barre de d’ascenseur.
A noter que les formes suivantes, bien que ne levant pas d'exception, ne doivent plus être employées :
- tkinter.Text ( ).yview ( "moveto" , abscisse ) est à remplacer par tkinter.Text ( ).yview_moveto ( abscisse ) ;
- tkinter.Text ( ).yview ( "scroll" , facteur , bloc ) est à remplacer par tkinter.Text ( ).yview_scroll ( facteur , bloc ) ;
- tkinter.Text ( ).yview ( index ) est à remplacer par tkinter.Text ( ).see ( index ).
Voir aussi Tutoriel de Text : faire défiler un éditeur de texte avec des ascenseurs pour un complément d'informations.
EXEMPLE.
import tkinter , tkinter.filedialog
def FNC_Action ( event ) :
TXT_Editeur.xview_moveto ( SCA_Abscisse.get ( ) )
TXT_Editeur.yview_moveto ( SCA_Ordonnee.get ( ) )
kdebut = int ( TXT_Editeur.xview ( ) [ 0 ] * 100 )
kfin = int ( TXT_Editeur.xview ( ) [ 1 ] * 100 )
LAB_Horizontal [ "text" ] = f"La partie horizontale visible va :\n{ kdebut }% à { kfin }%."
kdebut = int ( TXT_Editeur.yview ( ) [ 0 ] * 100 )
kfin = int ( TXT_Editeur.yview ( ) [ 1 ] * 100 )
LAB_Vertical [ "text" ] = f"La partie verticale visible va :\n{ kdebut }% à { kfin }%."
def FNC_Ouvrir ( ) :
kextentions = [ ( "texte" , ".txt" ) , ( "python" , ".py" ) ]
kfichier = tkinter.filedialog.askopenfilename ( title = "Ouvrir" , filetypes = kextentions )
if len ( kfichier ) < 1 : return
TXT_Editeur.delete ( "1.0" , "end" )
with open ( kfichier ) as FIL_Fichier : TXT_Editeur.insert ( "end" , FIL_Fichier.read ( ) )
FNC_Action ( None )
TKI_Principal = tkinter.Tk ( )
BUT_Quitter = tkinter.Button ( TKI_Principal , text = "Quitter le test" , command = TKI_Principal.destroy )
BUT_Ouvrir = tkinter.Button ( TKI_Principal , text = "Ouvrir un fichier" , command = FNC_Ouvrir )
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 )
TXT_Editeur = tkinter.Text ( TKI_Principal , wrap = "none" , width = 40 , height = 12 )
SCA_Abscisse.grid ( row = 0 , column = 1 , sticky = "nesw" )
SCA_Ordonnee.grid ( row = 1 , column = 0 , sticky = "nesw" )
TXT_Editeur.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_Ouvrir.grid ( row = 4 , column = 1 , sticky = "nesw" )
BUT_Quitter.grid ( row = 5 , column = 1 , sticky = "nesw" )
TXT_Editeur.insert ( "1.0" , "Tapez un texte ou\nouvrez un fichier txt ou py." )
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