event handling + clic de souris: comment ajouter des paramètres?
Bonjour,
J'ai un souci pour un programme python qui est similaire à la version minimaliste suivante:
Code:
1 2 3 4 5 6 7 8 9
|
import matplotlib.pyplot as plt
fig = plt.figure()
def onclick(event):
print event.button
connection_id = fig.canvas.mpl_connect('button_press_event', onclick)
plt.show() |
En fait, j'aimerais pouvoir entrer dans l'action 'onclick' d'autres paramètres (deux entiers) en plus de l'event. La fonction ressemblerait à ça:
Code:
1 2 3 4 5 6 7
|
def onclick(event,a,b):
print event.button
print a,b,a+b
connection_id = fig.canvas.mpl_connect('button_press_event', onclick(x1,x2))
plt.show() |
mais j'ai le message d'erreur suivant:
Code:
1 2 3 4 5 6 7 8
|
Exception in Tkinter callback
Traceback (most recent call last):
File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1413, in __call__
return self.func(*args)
File "cfht2d.py", line 165, in action
cid = fig.canvas.mpl_connect('button_press_event', onclick(lmin,lmax))
TypeError: onclick() takes exactly 3 arguments (2 given) |
Auriez-vous une autre méthode à suggérer pour contourner ça?
Merci!