bonjour,
jai un gros probléme qui peut etre évident pour certain mais je suis débutante en wxpython
en fait sur mon interface jai une list box qui initialement nulle.apres avoir appuyé sur un bouton de traitement je vais génerer une liste l2.je veut remplir la liste du list box par les elements de l2.je ne sais pas comment faire la mise a jour
voici le code que j'ai écrit:
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
72
73
74
75
76
77
78
79
80
81
82
83
84
 
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()