Résolution de l'affectation des commandes de bouton dans une boucle Tkinter for à l'aide de Lambda
Lors de la création de plusieurs boutons dans une boucle for à l'aide de la fonction lambda, l'attribution d'un le paramètre unique de chaque bouton peut être difficile. Par défaut, l'expression lambda fait référence à la variable name, qui est réaffectée à chaque itération de boucle. Cela conduit tous les boutons à hériter de la dernière valeur attribuée.
Pour résoudre ce problème, des paramètres de mots-clés par défaut peuvent être utilisés dans l'expression lambda. Cela garantit que chaque bouton reçoit son propre paramètre distinct :
user_button = Tkinter.Button(self.root, text=name, command=lambda name=name: self.a(name))
En liant la valeur actuelle de la variable name à l'argument de mot-clé name du lambda à chaque itération de boucle, la fonctionnalité souhaitée est obtenue. Chaque bouton exécutera désormais la fonction a() avec son propre paramètre unique, comme prévu.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!