Bonsoir ,

j'ai une classe "Interfacecpt" qui m'ouvre une interface graphique (Tkinter) et
dans laquelle je selectionne dans une listbox le nom d'un fichier.

cette classe fonctionne bien, ce que je n'arrive pas à faire c'est:
quand je ferme cette fenêtre (pour le moment avec la croix) je ne peux pas récupérer le nom du fichier à l'extérieur de cette classe dans une variable f
qui me servira dans le reste du programme.


Merci par avance de vos réponses

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/usr/bin/python
# -*- coding: iso-8859-1 -*-
 
import Tkinter
import os
 
 
class InerfaceCpt (Tkinter.Tk):
    """ Selectionne et ouvre Fime"""
    def __init__ (self,parent):
 
        Tkinter.Tk. __init__ (self,parent)
        self.parent=parent
 
        self.grid()
        self.geometry('450x250')
        #listbox et scrollbar
        self.listb=Tkinter.Listbox(self)
        self.scrb=Tkinter.Scrollbar(self)
        self.scrb.config(command=self.listb.yview)
        self.listb.config(yscrollcommand=self.scrb.set)
        self.listb.grid(column=1, row=2, sticky='EW')
        self.scrb.grid(column=1, row=2, sticky='EWNS')
        self.listb.bind('<ButtonRelease-1>',self.clic)
        #RadioButton
        self.choixrep=Tkinter.StringVar()
        self.radbutton1=Tkinter.Radiobutton(self,text='Hiver',
                        variable=self.choixrep, value='Hok',command=self.ClicRadio)
        self.radbutton2=Tkinter.Radiobutton(self,text='Eté',
                        variable=self.choixrep, value='Eok',command=self.ClicRadio)
        self.radbutton1.grid(column=1,row=3,sticky='ES')
        self.radbutton2.grid(column=1,row=3,sticky='WS')
        #Button
        button=Tkinter.Button(self, text=u'Cliquer moi', command=self.OnButtonClick )
        button.grid(column=1, row=1)
 
    def OnButtonClick(self):
        pass
 
    def ClicRadio(self):
        self.listb.delete(0,Tkinter.END)#vide la liste
        if self.choixrep.get()=='Hok':
            vfiche=os.listdir('c:\Hiver')
 
        if self.choixrep.get()=='Eok':
            vfiche=os.listdir('c:\Eté')
        idx=0
        i=0
        valfiche=[elem for elem in vfiche if elem[:3]=='Lis'or  elem[:3]=='LIS' or elem[:3]=='lis']#cherche les fichiers commençant par Lis,lis,LIS
        valfiche.sort()
        for elem in valfiche:
            self.listb.insert(idx,elem)
            idx+=1
 
    def clic(self,nomfichier):
        i=self.listb.curselection()
        nomfichier= self.listb.get(i)
        print nomfichier
        return nomfichier
 
 
 
 
if __name__ =='__main__':
    app=InerfaceCpt(None)
    app.title('**********************')
InerfaceCpt(None).mainloop()
 
fich=InerfaceCpt(None)
f= fich.clic()
########## SUITE DU PROGRAMME#################