Comment passer d'un argument à gestionnaire d'événement dans tkinter?
widget.bind('<Button-1>',callback) # binding
def callback(self,event)
#do something
J'ai besoin de passer un argument à callback()
. L'argument est un objet dictionary.
- Vous souhaitez passer de la liaison, ou lorsque le rappel est fait ?
- je dois passer un argument lorsque le rappel est fait
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
lambda
définir une fonction anonyme, tels que:Noter que le
arg
passé en devient un argument que vous utilisez, comme tous les autres arguments:Ce sujet
leftClickCallback
méthode déclarée?Je pense que dans la plupart des cas, vous n'avez pas besoin d'argument à une fonction de rappel, car le rappel peut être une méthode d'instance qui peut accéder à l'instance de membres:
Mais je pense que le functools solution proposée par Philipp est également très agréable
Passer à la fonction de rappel de l'instance et de l'appel de la méthode d'instance.
Voici la plus simple et la plus facile-à-lire la solution de tous je pense:
Vous pouvez également fournir des arguments à une fonction de rappel d'un widget, donné seulement que ce widget est définie comme une partie d'un définition de la classe , à savoir considérer ce petit python 2.7 programme (sans les parties responsables de programme de l'exécution):
NOTER QUE les arguments fournis doit être procédé à l'
self.