# Jython event handler return

**URL:** <https://www.debian-fr.org/t/jython-event-handler-return/62647>\
**Category:** Programmation\
**Created:** [Février 21, 2016, 8:29 UTC](https://www.debian-fr.org/t/jython-event-handler-return/62647 "2016-02-21T20:29:08Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![TheJeje20](https://www.debian-fr.org/user_avatar/www.debian-fr.org/thejeje20/32/3976_2.png) [@TheJeje20](https://www.debian-fr.org/u/TheJeje20)\
**Post date:** [Février 21, 2016, 8:29 UTC](https://www.debian-fr.org/t/jython-event-handler-return/62647/1 "2016-02-21T20:29:08Z")

</div>

Bonjour à tous

Je travaille avec Sikuli IDE.  
J’essaie de récupérer la sortie de mon event handler.  
(Le tout pour attendre que l’affichage dans la région r se stabilise)

Code:Jython

[code]  
#event handler :  
def changed(event):  
print "changed"  
return True #récupérer ça  
#FIN du event handler

#pour entrer une première fois dans mon while  
change=True  
r=Region(579,741,105,32)

#début while  
while change==True:  
change=False  
#détecter 10 pixels de changement -\> appel de changed  
r.onChange(10, changed) #récupérer le résultat dans variable change ?  
#activer l’observateur  
r.observe(3,background=False)  
wait(0.5)  
print change  
r.stopObserver()  
#FIN du while[/code]

J’ai trouvé ça, mais j’arrive pas : [http://www.javalobby.org/articles/jython/](http://www.javalobby.org/articles/jython/)  
je devrais normalement faire `r.onChange(10,lambda change, param=change: changed(param))`  
avec

```auto

```

Mais erreur sur le nombre d’arguments.

Merci d’avance pour vos idées

---

<div class="post-metadata">

**Author:** ![TheJeje20](https://www.debian-fr.org/user_avatar/www.debian-fr.org/thejeje20/32/3976_2.png) [@TheJeje20](https://www.debian-fr.org/u/TheJeje20)\
**Post date:** [Février 21, 2016, 8:29 UTC](https://www.debian-fr.org/t/jython-event-handler-return/62647/2 "2016-02-21T20:29:10Z")

</div>

Trouvé :  
Il suffisait d’utiliser les pointeurs “self”.

Code pour attendre que l’affichage se fige/stabilise dans une région (si ça peut aider les futurs lecteurs) :  
Code : Sikuli, Jython

[code]class Prog:  
def changed(self,event):  
self.change=True  
print “changed”

```
def __init__ (self):
    self.change=True
    r=Region(##votre région##)
    while self.change==True:
        self.change=False
        r.onChange(10, self.changed)
        r.observe(0.5,background=False)
        print self.change
        r.stopObserver()

```

if **name** ==“ **main** ”:  
Prog()[/code]

Bonne continuation
