Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1342 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  wxPython => que se passe t-il quand on ferme ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

wxPython => que se passe t-il quand on ferme ?

n°1033551
psychotek
Posté le 03-04-2005 à 14:01:03  profilanswer
 

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 :
  1. class fenetrePri(wx.Frame):
  2.     def __init__(self, parent, id, titre, son, deplacement):
  3.         wx.Frame.__init__(self, parent, -1, titre, size = (1000, 100),
  4.                           style = wx.DEFAULT_FRAME_STYLE | wx.NO_FULL_REPAINT_ON_RESIZE)
  5.         self.son = son
  6.         self.deplacement = deplacement
  7.    
  8.         boite = wx.BoxSizer(wx.HORIZONTAL)
  9.         btnReculer= wx.Button(self, -1, "<<" )
  10.         btnReculer.Bind(wx.EVT_BUTTON, self.surBtnReculer, btnReculer)
  11.         boite.Add(btnReculer, 0, wx.ALL, 2)   
  12.              
  13.         btnLecture = wx.Button(self, -1, "Lecture" )
  14.         btnLecture.Bind(wx.EVT_BUTTON, self.surBtnLecture, btnLecture)
  15.         boite.Add(btnLecture, 0, wx.ALL, 2)
  16.    
  17.         btnPause = wx.Button(self, -1, "Pause" )
  18.         btnPause.Bind(wx.EVT_BUTTON, self.surBtnPause, btnPause)
  19.         boite.Add(btnPause, 0, wx.ALL, 2)
  20.         btnStop = wx.Button(self, -1, "Stop" )
  21.         btnStop.Bind(wx.EVT_BUTTON, self.surBtnStop, btnStop)
  22.         boite.Add(btnStop, 0, wx.ALL, 2)
  23.    
  24.         btnAvancer = wx.Button(self, -1, ">>" )
  25.         btnAvancer.Bind(wx.EVT_BUTTON, self.surBtnAvancer, btnAvancer)
  26.         boite.Add(btnAvancer, 0, wx.ALL, 2)
  27.         btnMonterVol= wx.Button(self, -1, "Volume +" )
  28.         btnMonterVol.Bind(wx.EVT_BUTTON, self.surBtnMonterVol, btnMonterVol)
  29.         boite.Add(btnMonterVol, 0, wx.ALL, 2)
  30.    
  31.         btnBaisserVol= wx.Button(self, -1, "Volume -" )
  32.         btnBaisserVol.Bind(wx.EVT_BUTTON, self.surBtnBaisserVol, btnBaisserVol)
  33.         boite.Add(btnBaisserVol, 0, wx.ALL, 2)
  34.         btnTest= wx.Button(self, -1, "Test" )
  35.         btnTest.Bind(wx.EVT_BUTTON, self.surBtnTest, btnTest)
  36.         boite.Add(btnTest, 0, wx.ALL, 2)
  37.            
  38.         self.SetSizer(boite)
  39.    
  40.         barreDefil = wx.Slider(self, -1, 1, 1, 100, (-1, -1), (300, -1), wx.SL_HORIZONTAL | wx.SL_AUTOTICKS)
  41.         boite.Add(barreDefil, 0, wx.ALL, 2)
  42.         barreDefil.Bind(wx.EVT_SCROLL_THUMBTRACK, self.bougeBarreDefil, barreDefil)
  43.    
  44.         self.Show(1)
  45.    
  46.     def surBtnReculer(self, event):
  47.         self.son.reculer(self.deplacement)
  48.     def surBtnLecture(self, event):
  49.         self.son.lecture()
  50.    
  51.     def surBtnPause(self, event):
  52.         self.son.pause()
  53.     def surBtnStop(self, event):
  54.         self.son.stop()
  55.        
  56.     def surBtnAvancer(self, event):
  57.         self.son.avancer(self.deplacement)
  58.     def surBtnMonterVol(self, event):
  59.         self.son.monterVol()
  60.    
  61.     def surBtnBaisserVol(self, event):
  62.         self.son.baisserVol()
  63.     def surBtnTest(self, event):
  64.         pass
  65.    
  66.     def bougeBarreDefil(self, event):
  67.         self.son.deplace(event.GetPosition())
  68. class App(wx.App):
  69.     def OnInit(self):
  70.         self.son = Son('test.mp3')
  71.         self.t = Thread(target = monThread)
  72.         self.t.start()
  73.         frame = fenetrePri(None, -1, "Super Lecteur 3000", self.son, 5)
  74.         self.SetTopWindow(frame)
  75.         return 1
  76. app = App(0)
  77. 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  :p


Message édité par psychotek le 03-04-2005 à 14:03:53
mood
Publicité
Posté le 03-04-2005 à 14:01:03  profilanswer
 

n°1033584
psychotek
Posté le 03-04-2005 à 15:26:23  profilanswer
 

[:am7] bon ok chus vraiment à l'ouest, c'était OnExit tout simplement.
 
au fait vous savez comment faire faire quelque chose à MainLoop ? pour qu'elle exécute une action à chaque tour de boucle par exemple... je pourrais la surcharger mais comme je ne sais pas quel est son code d'origine je ne sais pas trop comment m'y prendre.


Message édité par psychotek le 03-04-2005 à 15:53:52

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  wxPython => que se passe t-il quand on ferme ?

 

Sujets relatifs
z-index qui passe en dessousComment modifier une variable passé en argument de fct par son adresse
Supprimer une JPEG quand la page JSP se fermepirater mot de passe hotmail
Attacher 1 table Access à 1 fichier Excel avec mot de passe[XSL] mon processeur XSL ne ferme plus les balises
mot de passe[EXCEL] Recherche d'un fichier fermé
besoin d'aide svp Python + wxPythonfenetre openGL qui se ferme pas ...
Plus de sujets relatifs à : wxPython => que se passe t-il quand on ferme ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR