bonjour,
j'ai un gros problème qui peut être évident pour certain mais je suis débutante en wxpython
en fait sur mon interface j'ai une list box qui initialement nulle.après avoir appuyé sur un bouton de traitement je vais générer une liste l2.je veut remplir la liste du list box par les éléments de l2.je ne sais pas comment faire la mise a jour
voici le code que j'ai écrit:
#
import wx
import os
import glob
class maissa(wx.Frame):
path1="path"
licenseText = "blah " * 250 + "\n\n" +"yadda " * 100
MyList=[]
def __init__(self,parent,id):
wx.Frame.__init__(self,parent,id,"la fenetre dessai",size=(300,300))
panel=wx.Panel(self)
status=self.CreateStatusBar()
menubar=wx.MenuBar()
first=wx.Menu()
first.Append(wx.ID_OPEN,"choose\tCTRL+o","this will choose a new directroy")
menubar.Append(first,"File")
self.SetMenuBar(menubar)
boutton2=wx.Button(panel,label="afficher",pos=(30,10),size=(60,60))
boutton3=wx.Button(panel,label="traitement",pos=(100,10),size=(60,60))
cnt=wx.ListBox(panel,-1,(160,20),(80,60),maissa.MyList,wx.LB_SINGLE)
self.Bind(wx.EVT_BUTTON,self.essai,boutton2)
self.Bind(wx.EVT_BUTTON,self.traitement,boutton3)
wx.EVT_MENU(self, wx.ID_OPEN, self.opendir)
def traitement(self,event):
liste=os.listdir(maissa.path1)
liste2=glob.glob(maissa.path1)
liste1=[]
liste_tache=[]
for i in range(len (liste)):
if liste[i]=="KRN_ASW.H":
path_s=liste2[0]+'\\' + liste[i]
break
f=open(path_s,'r')
lignes=f.readlines()
for k in range(len(lignes)):
if '#undef' in lignes[k]:
lignes[k]=lignes[k].replace('#undef',"")
ch=lignes[k]
liste1=ch.split('_')
a=liste1[-2]
c=str(a).isdigit()
if (c==True):
lignes[k]=lignes[k].replace(a,"")
print lignes[k]
liste_tache.append(lignes[k])
else:
liste_tache.append(lignes[k])
l2=list(set(liste_tache))
print len(l2)
print len(liste_tache)
for k in range(len(l2)):
print l2[k]
for l in l2:
maissa.MyList.append(l)
print "*************************"
def opendir(self, event):
dlg = wx.DirDialog(self, "Choose a directory:", style=wx.DD_DEFAULT_STYLE | wx.DD_NEW_DIR_BUTTON)
if dlg.ShowModal() == wx.ID_OK:
maissa.path1=dlg.GetPath()
#return path1
#opendir.Destroy()
def essai(self,event):
print maissa.path1
liste=os.listdir(maissa.path1)
liste2=glob.glob(maissa.path1)
liste4=[]
liste3=[]
for i in range(len (liste)):
path_s=liste2[0]+'\\' + liste[i]
if (('_fct' in liste[i]) and (liste[i].endswith('.c'))or ('_FCT' in liste[i])) and (liste[i].endswith('.C')):
print path_s
X=path_s.endswith("_SCH.C") or path_s.endswith("_SCH.c")or path_s.endswith("_sch.c")or path_s.endswith("_sch.C")
if X == True:
print ">>>"+path_s
if __name__=='__main__':
app=wx.PySimpleApp()
frame=maissa(parent=None,id=-1)
frame.Show()
app.MainLoop()
#