psychotek | salut all
désolé si ma question est un peu con. je débute en python.
j'ai lu la doc mais je n'arrive pas à y trouver l'info que je cherche : que se passe t-il quand on ferme une fenetre ? quelle fonction est appellée ? est-il possible de la surcharger ?
merci
ps, si vous voulez voir un peu de code, j'en met ici :
Code :
- class fenetrePri(wx.Frame):
- def __init__(self, parent, id, titre, son, deplacement):
- wx.Frame.__init__(self, parent, -1, titre, size = (1000, 100),
- style = wx.DEFAULT_FRAME_STYLE | wx.NO_FULL_REPAINT_ON_RESIZE)
- self.son = son
- self.deplacement = deplacement
-
- boite = wx.BoxSizer(wx.HORIZONTAL)
- btnReculer= wx.Button(self, -1, "<<" )
- btnReculer.Bind(wx.EVT_BUTTON, self.surBtnReculer, btnReculer)
- boite.Add(btnReculer, 0, wx.ALL, 2)
-
- btnLecture = wx.Button(self, -1, "Lecture" )
- btnLecture.Bind(wx.EVT_BUTTON, self.surBtnLecture, btnLecture)
- boite.Add(btnLecture, 0, wx.ALL, 2)
-
- btnPause = wx.Button(self, -1, "Pause" )
- btnPause.Bind(wx.EVT_BUTTON, self.surBtnPause, btnPause)
- boite.Add(btnPause, 0, wx.ALL, 2)
- btnStop = wx.Button(self, -1, "Stop" )
- btnStop.Bind(wx.EVT_BUTTON, self.surBtnStop, btnStop)
- boite.Add(btnStop, 0, wx.ALL, 2)
-
- btnAvancer = wx.Button(self, -1, ">>" )
- btnAvancer.Bind(wx.EVT_BUTTON, self.surBtnAvancer, btnAvancer)
- boite.Add(btnAvancer, 0, wx.ALL, 2)
- btnMonterVol= wx.Button(self, -1, "Volume +" )
- btnMonterVol.Bind(wx.EVT_BUTTON, self.surBtnMonterVol, btnMonterVol)
- boite.Add(btnMonterVol, 0, wx.ALL, 2)
-
- btnBaisserVol= wx.Button(self, -1, "Volume -" )
- btnBaisserVol.Bind(wx.EVT_BUTTON, self.surBtnBaisserVol, btnBaisserVol)
- boite.Add(btnBaisserVol, 0, wx.ALL, 2)
- btnTest= wx.Button(self, -1, "Test" )
- btnTest.Bind(wx.EVT_BUTTON, self.surBtnTest, btnTest)
- boite.Add(btnTest, 0, wx.ALL, 2)
-
- self.SetSizer(boite)
-
- barreDefil = wx.Slider(self, -1, 1, 1, 100, (-1, -1), (300, -1), wx.SL_HORIZONTAL | wx.SL_AUTOTICKS)
- boite.Add(barreDefil, 0, wx.ALL, 2)
- barreDefil.Bind(wx.EVT_SCROLL_THUMBTRACK, self.bougeBarreDefil, barreDefil)
-
- self.Show(1)
-
- def surBtnReculer(self, event):
- self.son.reculer(self.deplacement)
- def surBtnLecture(self, event):
- self.son.lecture()
-
- def surBtnPause(self, event):
- self.son.pause()
- def surBtnStop(self, event):
- self.son.stop()
-
- def surBtnAvancer(self, event):
- self.son.avancer(self.deplacement)
- def surBtnMonterVol(self, event):
- self.son.monterVol()
-
- def surBtnBaisserVol(self, event):
- self.son.baisserVol()
- def surBtnTest(self, event):
- pass
-
- def bougeBarreDefil(self, event):
- self.son.deplace(event.GetPosition())
- class App(wx.App):
- def OnInit(self):
- self.son = Son('test.mp3')
- self.t = Thread(target = monThread)
- self.t.start()
- frame = fenetrePri(None, -1, "Super Lecteur 3000", self.son, 5)
- self.SetTopWindow(frame)
- return 1
- app = App(0)
- app.MainLoop()
|
comme vous le voyez, c'est une interface graphique pour un lecteur mp3. elle lance un thread (dans OnInit) et je voudrais pouvoir surcharger la fonction de sortie pour pouvoir killer ce thread en quittant (sinon, la fenetre se ferme mais l'application continue).
edit : si vous voyez des des incohérences, des trucs qui ne vont pas ou qui ne sont pas très propres, n'hésitez pas à me le dire. j'ai lu du code en python mais pas encore assez pour réussir à déterminer ce qu'est un joli code Message édité par psychotek le 03-04-2005 à 14:03:53
|