crear objetos wx dinamicos
Josu Rodriguez
jrvilda en gmail.com
Mar Mar 4 22:41:37 CET 2008
Hola a todos,
estaba teniendo un problema con la generacion de objetos dinamicos.
Me gustaria, por ejemplo, crear una serie de wx.StaticText los cuales se
generen de forma automatica dependiendo de los ficheros que hay en un
directorio y añadirles un evento para que ejecuten el fichero serlecionado,
pero al llamarse de la misma manera el resultado es siempre el del ultimo
objeto creado. ¿Se puede hacer de algun modo? ¿Estaria bien mi forma de
trabajar, o abria que plantearlo de otra manera?
el codigo es el siguiente:
...
...
pnl = fpb.FoldPanelBar(self.pn767c, wx.ID_ANY, wx.DefaultPosition,
wx.Size(350, 1000),
fpb.FPB_DEFAULT_STYLE | fpb.FPB_VERTICAL)
dir_tools=dir+'\\tools'
listado=os.listdir(dir_tools)
directorios=[f for f in listado
if os.path.isdir(os.path.join(dir_tools, f))]
if directorios:
for f in directorios:
item = pnl.AddFoldPanel(f, collapsed=True)
for datas1 in os.listdir(dir_tools+'\\'+f):
if os.path.isfile(os.path.join(dir_tools+'\\'+f,datas1))
:
(shortname, extension) = os.path.splitext
(str(datas1))
self.prueba1=wx.StaticText(item, wx.ID_ANY,
"..."+str(datas1))
pnl.AddFoldPanelWindow(item, self.prueba1)
self.prueba1.Bind(wx.EVT_LEFT_DOWN,self.prueba)
pnl.AddFoldPanelSeparator(item)
else:
print 'default'
item = pnl.AddFoldPanel("Utiles", collapsed=True)
pnl.AddFoldPanelSeparator(item)
pathname = os.getcwd()+"\\tools <file://tools/>"
....
....
def prueba(self,event):
print "Ejecutando :",self.prueba1.GetLabel()
event.Skip()
Un saludo y gracias
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Josu Rodriguez Vilda
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
------------ próxima parte ------------
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
Más información sobre la lista de distribución Python-es