⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ controles standards ⇨ Toplevel
tkinter.Toplevel ( ).aspect ( )
⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ controles standards ⇨ Toplevel
tkinter.Toplevel ( ).aspect ( )
DESCRIPTION.
Définie le rapport constant entre la largeur et la hauteur d'une fenêtre.
SYNTAXE.
TKI_Fenetre.aspect ( nmini , dmini , nmaxi , dmaxi )
TKI_Fenetre ⇨ instance quelconque de tkinter.Toplevel ( ) [ OBLIGATOIRE ]
.aspect ( ) ⇨ appel de la méthode [ OBLIGATOIRE ]
nmini ⇨ numérateur du ratio minimum [ OBLIGATOIRE ]
dmini ⇨ dénominateur du ratio minimum [ OBLIGATOIRE ]
nmaxi ⇨ numérateur du ratio maximum [ OBLIGATOIRE ]
dmaxi ⇨ dénominateur du ratio maximum [ OBLIGATOIRE ]
ou
TKI_Fenetre.wm_aspect ( nmini , dmini , nmaxi , dmaxi )
TKI_Fenetre ⇨ instance de la fenêtre tkinter.Tk ( ) [ OBLIGATOIRE ]
.wm_aspect ( ) ⇨ appel de la méthode [ OBLIGATOIRE ]
nmini ⇨ numérateur du ratio minimum [ OBLIGATOIRE ]
dmini ⇨ dénominateur du ratio minimum [ OBLIGATOIRE ]
nmaxi ⇨ numérateur du ratio maximum [ OBLIGATOIRE ]
dmaxi ⇨ dénominateur du ratio maximum [ OBLIGATOIRE ]
REMARQUES.
nmini, dmini, nmaxi et dmaxi doivent être des int ( ).
nmini / dmini correspond au rapport minimal largeur/hauteur lors d'un redimensionnement de la fenêtre et nmaxi / dmaxi correspond au rapport maximal largeur/hauteur lors d'un redimensionnement de la fenêtre. Le rapport largeur/hauteur sera donc toujours compris entre nmini / dmini et nmaxi / dmaxi lors des redimensionnements de la fenêtre.
Par exemple si TKI_Fenetre.aspect ( 3 , 2 , 2 , 1 ) :
- la hauteur de la fenêtre principale devra toujours être comprise entre :
- au minimum de largeur x (2/3 =) 0,66 ;
- au maximum de largeur x (1/2 =) 0,50 ;
- la largeur de la fenêtre principale devra toujours être comprise entre :
- au minimum de hauteur x (3/2 =) 1,5 ;
- au minimum de hauteur x (2/1 =) 2,0 ;
- le rapport largeur/hauteur sera toujours compris ente 3/2 = 1,5 et 2/1 = 2,0.
nmini / dmini doit toujours être inférieur ou égal à nmaxi / dmaxi, sinon l'appel sera ignoré.
Les valeurs réelles de la largeur et de la hauteur, exprimées en pixels, peuvent être inférieures ou supérieurs de quelques pixels, pour s'ajuster au plus prés des dimensions imposées par les contraintes de la méthode tkinter.Toplevel ( ).aspect ( ).
La forme tkinter.Toplevel ( ).aspect ( "" , "" , "" , "" ) annule la contrainte des rapports d'aspect données par les appels précédents de la méthode
Utilisée sans aucun paramètre, la méthode tkinter.Toplevel ( ).aspect ( ) retourne un tuple ( ) avec les valeurs actuellement en cour ou None si aucune contrainte n'est définis pour les rapports d'aspect.
La forme TKI_Fenetre.wm_aspect ( ) appelle la méthode wm_aspect ( ) héritée de la classe tkinter.Wm ( ), le window manager de tkinter, qui gère la communication avec le gestionnaire de fenêtres de l'OS présent sur la machine accueillant le programme.
Le comportement de cette méthode, peut varier selon l'environnement utilisé. Il peut même, dans certain cas, être ignoré.
EXEMPLE.
import tkinter
def FNC_Changement ( event ) :
kdimension = TKI_Fenetre.geometry ( ).split ( "+" ) [ 0 ]
klargeur = int ( kdimension.split ( "x" ) [ 0 ] )
khauteur = int ( kdimension.split ( "x" ) [ 1 ] )
LAB_Largeur [ "text" ] = f'Largeur : { klargeur } pixels.'
LAB_Hauteur [ "text" ] = f'Hauteur : { khauteur } pixels.'
LAB_Rapport [ "text" ] = f'Rapport (L/H) : {klargeur / khauteur:.3f}.'
TKI_Principal = tkinter.Tk ( )
tkinter.Button ( TKI_Principal , text = "Quitter" , command = TKI_Principal.destroy ).pack ( )
TKI_Fenetre = tkinter.Toplevel ( )
TKI_Fenetre.geometry ( "200x120+400+150" )
TKI_Fenetre.aspect ( 3 , 2 , 2 , 1 )
LAB_Largeur = tkinter.Label ( TKI_Fenetre )
LAB_Hauteur = tkinter.Label ( TKI_Fenetre )
LAB_Rapport = tkinter.Label ( TKI_Fenetre )
LAB_Largeur.pack ( )
LAB_Hauteur.pack ( )
LAB_Rapport.pack ( )
tkinter.Label ( TKI_Fenetre , text = "Minimum : 3/2 = 1,500" ).pack ( )
tkinter.Label ( TKI_Fenetre , text = "Maximum : 2/1 = 2,000" ).pack ( )
TKI_Fenetre.bind ( "<Configure>" , FNC_Changement )
TKI_Principal.mainloop ( )
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de