⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ liste des méthodes
tkinter.winfo_geometry ( )
⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ liste des méthodes
tkinter.winfo_geometry ( )
DESCRIPTION.
Retourne les dimensions et les coordonnés du controle appelant.
SYNTAXE.
Variable = widget.winfo_geometry ( )
Variable = ⇨ variable qui recevra la valeur [ optionnel ]
widget ⇨ controle quelconque de l'interface [ OBLIGATOIRE ]
.winfo_geometry ( ) ⇨ appel de la méthode [ OBLIGATOIRE ]
REMARQUES.
La méthode tkinter.winfo_geometry ( ) retourne un str ( ) ayant la forme : "largeurxhauteur+abscisse+ordonnée", où les coordonnées, abscisse et ordonnée, sont exprimées en fonction du conteneur du controle appelant et en tenant compte des éventuelles options d'attributs, définies ou modifiées, lors du dernier placement de ce controle dans son conteneur.
La méthode tkinter.winfo_geometry ( ) doit être invoquée après que toutes les tâches en sommeil aient été traitées. En effet, toutes les chaînes géométriques sont initialisées à "1x1+0+0" jusqu'à ce que les toutes les redimensionnements des controles aient été réalisées. Voir les méthodes tkinter.update ( ) et tkinter.update_idletasks ( ) pour forcer la mise à jour des controles de l'interface.
EXEMPLE.
import tkinter
def FNC_Donnees ( ) :
# --- RaZ de la liste des donnees du controle ---
LAB_Pointeur [ "text" ] = f"Position du ponteur : { TKI_Principal.winfo_pointerxy ( ) }"
BOX_Donnees.delete ( 0 , "end" )
# --- identification du controle ---
kpointeurx = TKI_Principal.winfo_pointerx ( )
kpointeury = TKI_Principal.winfo_pointery ( )
kcontrole = TKI_Principal.winfo_containing ( kpointeurx , kpointeury )
BOX_Donnees.insert ( "end" , f".winfo_containing ( ) : { kcontrole }" )
if kcontrole == None : return
# --- MaJ de la liste des donnees du controle ---
BOX_Donnees.insert ( "end" , "" )
BOX_Donnees.insert ( "end" , f".winfo_id ( ) : { kcontrole.winfo_id ( ) }" )
BOX_Donnees.insert ( "end" , f".winfo_class ( ) : { kcontrole.winfo_class ( ) }" )
BOX_Donnees.insert ( "end" , f".winfo_manager ( ) : { kcontrole.winfo_manager ( ) }" )
BOX_Donnees.insert ( "end" , f".winfo_parent ( ) : { kcontrole.winfo_parent ( ) }" )
BOX_Donnees.insert ( "end" , f".winfo_pathname ( ) : { TKI_Principal.winfo_pathname ( kcontrole.winfo_id ( ) ) }" )
BOX_Donnees.insert ( "end" , f".winfo_name ( ) : { kcontrole.winfo_name ( ) }" )
BOX_Donnees.insert ( "end" , f".winfo_geometry ( ) : { kcontrole.winfo_geometry ( ) }" )
BOX_Donnees.insert ( "end" , f".winfo_widht ( ) : { kcontrole.winfo_width ( ) }" )
BOX_Donnees.insert ( "end" , f".winfo_height ( ) : { kcontrole.winfo_height ( ) }" )
BOX_Donnees.insert ( "end" , f".winfo_reqheight ( ) : { kcontrole.winfo_reqwidth ( ) }" )
BOX_Donnees.insert ( "end" , f".winfo_reqwidth ( ) : { kcontrole.winfo_reqheight ( ) }" )
BOX_Donnees.insert ( "end" , f".winfo_pointerx ( ) : { kcontrole.winfo_x ( ) }" )
BOX_Donnees.insert ( "end" , f".winfo_pointery ( ) : { kcontrole.winfo_y ( ) }" )
BOX_Donnees.insert ( "end" , f".winfo_rootx ( ) : { kcontrole.winfo_rootx ( ) }" )
BOX_Donnees.insert ( "end" , f".winfo_rooty ( ) : { kcontrole.winfo_rooty ( ) }" )
BOX_Donnees.insert ( "end" , f".winfo_viewable ( ) : { kcontrole.winfo_viewable ( ) }" )
BOX_Donnees.insert ( "end" , f".winfo_exists ( ) : { kcontrole.winfo_exists ( ) }" )
BOX_Donnees.insert ( "end" , f".winfo_ismapped ( ) : { kcontrole.winfo_ismapped ( ) }" )
def FNC_Relance ( ) :
FNC_Donnees ( )
TKI_Principal.after ( 100 , FNC_Relance )
TKI_Principal = tkinter.Tk ( )
BOX_Donnees = tkinter.Listbox ( TKI_Principal , height = 20 , width = 35 )
LAB_Pointeur = tkinter.Label ( TKI_Principal )
FRM_Conteneur = tkinter.LabelFrame ( TKI_Principal , text = "controles" )
tkinter.Button ( FRM_Conteneur , relief = "sunken" ).pack ( fill = "both" )
tkinter.Entry ( FRM_Conteneur ).pack ( )
tkinter.Label ( FRM_Conteneur , text = "label" , relief = "solid" ).pack ( )
tkinter.Spinbox ( FRM_Conteneur ).pack ( )
tkinter.Scale ( FRM_Conteneur , orient = "horizontal" ).pack ( )
tkinter.Button ( FRM_Conteneur , relief = "ridge" , width = 7 ).pack ( )
tkinter.Button ( FRM_Conteneur , relief = "flat" , width = 12 ).pack ( )
tkinter.Button ( FRM_Conteneur , text = "Quitter" , command = TKI_Principal.destroy ).pack ( )
LAB_Pointeur.pack ( side = "top" , fill = "both" )
BOX_Donnees.pack ( side = "left" , fill = "both" )
FRM_Conteneur.pack ( side = "right" , fill = "both" )
FNC_Relance ( )
TKI_Principal.mainloop ( )
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de