⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ liste des méthodes
tkinter.winfo_id ( )
⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ liste des méthodes
tkinter.winfo_id ( )
DESCRIPTION.
Retourne l'identifiant du controle appelant.
SYNTAXE.
IDE_Objet = widget.winfo_id ( )
IDE_Objet = ⇨ variable qui recevra la valeur [ optionnel ]
widget ⇨ controle quelconque de l'interface [ OBLIGATOIRE ]
.winfo_id ( ) ⇨ appel de la méthode [ OBLIGATOIRE ]
REMARQUE.
La méthode tkinter.winfo_id ( ) retourne un int ( ) et non le nom de la variable éventuellement utilisée lors la création du controle, et qui est utilisée pour interagir avec lu dans le script.
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