⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ liste des méthodes
tkinter.winfo_name ( )
⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ liste des méthodes
tkinter.winfo_name ( )
DESCRIPTION.
Retourne le nom relatif du controle dans son conteneur.
SYNTAXE.
Variable = widget.winfo_name ( )
Variable = ⇨ variable qui recevra la valeur [ optionnel ]
widget ⇨ controle quelconque de l'interface [ OBLIGATOIRE ]
.winfo_name ( ) ⇨ appel de la méthode [ OBLIGATOIRE ]
REMARQUES.
Dans tkinter la fenêtre principale reçoit le nom '.'. Une fenêtre enfant est nommée en fonction de sa fenêtre parent sous la forme '.enfant', où enfant est un nombre entier sous la forme d'une chaîne de caractères. Une fenêtre enfant d'une fenêtre enfant recevra un nom suivant le même principe, sous la forme '.enfant.enfant'. Vient ensuite l'imbrication des conteneurs successifs (relation parent : enfants) et enfin le controle. Par exemple, le premier cadre que vous créez par défaut aura le nom '.enfant.enfant.!frame', le suivant aura le nom '.enfant.enfant.!frame2' si le deuxième cadre n'est pas dans le premier, ou '.enfant.enfant.!frame.!frame2' si le deuxième cadre est insérer dans le premier, et ainsi de suite. Le premier bouton à l'intérieur du premier cadre sera nommé, par exemple, '.enfant'.!frame.!button', etc.
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