Bonjour,

J'ai une Fenetre qui effectue un traitement régulièrement grâce à un timer (grab une frame d'une vidéo) et ensuite grâce à une méthode onPaint affiche cette frame.

Le problème est que dès que je bind mon event onPaint de ma frame le timer n'est plus déclenché...

Voici le code contenant uniquement le minimum pour que ça plante:

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
22
23
24
25
class IplMovieFrame(wx.Frame):
    def __init__(self, parent):
        wx.Frame.__init__(self, parent, -1, 'Try CV', size=(345,280))
        self.Bind(wx.EVT_TIMER, self.onTimer)
        self.timer = wx.Timer(self)
 
        self.Bind(wx.EVT_CLOSE, self.onClose)
        self.timer.Start(30)
 
        self.bmp = None
 
        self.Bind(wx.EVT_PAINT, self.onPaint)
 
        self.Show(True)
 
    def onPaint(self, event):
        print "painting"
 
    def onClose(self, evt):
        self.timer.Stop()
        del self.timer
        self.Destroy()
 
    def onTimer(self, e=None):
        print "timer"
.... que faire?... merci!