⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ liste des méthodes
tkinter.nametowidget ( )
⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ liste des méthodes
tkinter.nametowidget ( )
DESCRIPTION.
Retourne le controle ayant le chemin de nommage indiqué.
SYNTAXE.
IDE_Controle = widget.nametowidget ( chemin )
IDE_Controle = ⇨ variable qui recevra la valeur [ optionnel ]
widget ⇨ controle quelconque de l'interface [ OBLIGATOIRE ]
.nametowidget ( ) ⇨ appel de la méthode [ OBLIGATOIRE ]
chemin ⇨ chemin du controle [ OBLIGATOIRE ]
REMARQUES.
chemin est la référence interne du controle, créée et utilisée par tkinter. chemin a, normalement, la forme générale : .!parentx.!enfanty.!...+.!controlex.
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.
str ( .control ) permet connaitre le chemin de n'importe quel controle sous la forme d'une chaine.
Par convention, on utilise la fenêtre créée avec tkinter.Tk ( ) pour l'utilisation de cette méthode.
EXEMPLE.
import tkinter
def FNC_Chemin ( event ) :
kcontrole = str ( event.widget )
knom = TKI_Principal.nametowidget ( kcontrole )
LAB_Chemin [ "text" ] = f"Son chemin est\n{ kcontrole }"
LAB_Nom [ "text" ] = f"Son nom est\n{ knom }"
TKI_Principal = tkinter.Tk ( )
LAB_Chemin = tkinter.Label ( TKI_Principal , text = "Cliquez sur quelque chose ..." , height = 3 )
LAB_Nom = tkinter.Label ( TKI_Principal , relief = "solid" , height = 3 )
FRM_Parent = tkinter.LabelFrame ( TKI_Principal , text = "Niveau 1" )
BUT_Quitter = tkinter.Button ( FRM_Parent , text = "Quitter" , command = TKI_Principal.destroy )
FRM_Enfant = tkinter.LabelFrame ( FRM_Parent , text = "Niveau 2" )
for kbouton in range ( 5 ) :
tkinter.Button ( FRM_Enfant , text = f"Bouton { kbouton }" ).pack ( )
BUT_Quitter.pack ( side = "left" )
FRM_Enfant.pack ( side = "right" )
FRM_Parent.pack ( )
LAB_Chemin.pack ( )
LAB_Nom.pack ( )
TKI_Principal.bind_all ( "<Button>" , FNC_Chemin )
TKI_Principal.mainloop ( )
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de