Bonjour,
Mon but est d'afficher une animation dont je ne connais les frames qu'en temps réel dans une fenêtre (il ne suffit donc pas d'afficher une gif animée). J'ai utilisé wx.StaticBitmap et je remplace la bitmap à l'intérieur toutes les 50ms avec la méthode SetBitmap.
Ca marche bien, mais le problème est qu'entre deux changements d'images, on aperçoit le fond gris de la fenêtre. On observe donc un scintillement de l'animation dont j'aimerais bien me débarrasser. (En Tkinter, je ne l'observe pas en créant un canevas).
Voilà une partie la partie principale du code:
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 class Loupe(wx.Frame): def __init__(self): wx.Frame.__init__(self, None, -1, '', pos = (-1, -1), style = (wx.SIMPLE_BORDER|wx.FRAME_NO_TASKBAR|wx.STAY_ON_TOP), size=(300, 200)) #DESSIN DE L'IMAGE self.bmp = wx.StaticBitmap(parent = self, bitmap=wx.EmptyImage(WIDTH, HEIGHT).ConvertToBitmap()) self.Show() thread.start_new_thread( self.refresh, () ) def refresh(self): while True: self.bmp.SetBitmap( image() ) #MISE A JOUR DE L'IMAGE (la fonction image renvoie une image) time.sleep(0.04)
Merci d'avance pour vos réponses.
Partager