Bonjour,

Voilà, j'ai une appli Python qui a besoin d'ouvrir une fenêtre (de taille 0,0) pour lancer un wxfiledialog pr la sauvegarde/ l'ouverture de fichiers par l'utilisateur :

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
26
27
class Fenetre(wxFrame):
	def __init__(self,titre,text):
           wxFrame.__init__(self,None,-1,titre,(0,0),(500,500), style=wxFRAME_NO_WINDOW_MENU|wxDEFAULT_FRAME_STYLE|wxMAXIMIZE)
	   self.msg=text
 
        def Open(self):
	    dlg = wxFileDialog(self, "Choisissez un emplacement", "", "", "*.iri", wxOPEN|wxCHANGE_DIR)
	    if dlg.ShowModal()==wxID_OK:
		self.msg=dlg.GetPath()
	    dlg.Destroy()
            self.destroy()
 
class ApplicationOpen(wx.App):
	def OnInit(self):
		fenetre = Fenetre("Open")
		fenetre.Show(True)
		self.SetTopWindow(fenetre)
		fenetre.Open()
		return 1
 
Et dans la classe lançant l'application ApplicationOpen :
	def openFile(self):
		app = ApplicationOpen()
		while app.res == "init":
			pass
		self.rendu=app.res
		app.MainLoop()
Voilà, mon problème étant que le self.Destroy() ne fonctionne pas, j'ai essayé de mettre un fenetre.Destroy() dans la classe de l'Application, avec toujours le même résultat : la fenêtre survit !!

Avez vous une solution s'il vous plait ?