Bonjour,
Pour ce qui est de savoir si c'est un 'bug' je vais m'abstenir vu mon niveau.
Je remarque juste que dans le code:
Il n'est à aucun moment fait une référence au Widget.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 def after(self, ms, func=None, *args): """Call function once after given time. MS specifies the time in milliseconds. FUNC gives the function which shall be called. Additional parameters are given as parameters to the function call. Return identifier to cancel scheduling with after_cancel.""" if not func: # I'd rather use time.sleep(ms*0.001) self.tk.call('after', ms) else: def callit(): try: func(*args) finally: try: self.deletecommand(name) except TclError: pass name = self._register(callit) return self.tk.call('after', ms, name)
Pour moi .after() est une méthode d'une instance (Misc) pour programmer un event via le gestionnaire d’événement, pas un 'bind' d'un event pour un Widget.
Comme toujours en Python celui qui écrit le code est 'responsable' (pas moi).
Pour ce qui est de patcher c'est pour cela que j'utilise ici type.
@+
Partager