Maison > développement back-end > Tutoriel Python > Comment éviter les problèmes de capture de variables Lambda lors de la création de plusieurs boutons Tkinter dans une boucle ?

Comment éviter les problèmes de capture de variables Lambda lors de la création de plusieurs boutons Tkinter dans une boucle ?

Mary-Kate Olsen
Libérer: 2024-12-15 22:11:12
original
299 Les gens l'ont consulté

How to Avoid Lambda Variable Capture Issues When Creating Multiple Tkinter Buttons in a Loop?

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))
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal