Tema: os.walk
Ver Mensaje Individual
  #5 (permalink)  
Antiguo 19/01/2012, 10:36
carlos_armikhael
 
Fecha de Ingreso: octubre-2011
Mensajes: 31
Antigüedad: 13 años, 2 meses
Puntos: 7
Respuesta: os.walk

Este es el código de ejemplo... hay un entry donde se coloca el nombre de la carpeta... un botón para crearla.. y el combo que muestra todo lo que esta en esa dirección.... pero cuando creo un nueva carpeta no me la muestra en el combo a menos que me salga y vuela entrar al programa.... como aria que en el combo saliera el nombre de la carpeta que estoy creando sin necesidad de salir de programa y volver a entrar...

Código Python:
Ver original
  1. #!/bin/python/ env
  2.  
  3. import gtk
  4. import os
  5.  
  6. def combo_boton(homogeneous, spacing, expand, fill, padding):
  7.    
  8.    
  9.     caja = gtk.HBox(homogeneous, spacing)
  10.     caja.set_border_width(10)
  11.     def crear_carpeta(self, data=None):
  12.         systema = os.system('mkdir /home/carlos/'+texto.get_text())
  13.    
  14.     text = next(os.walk('/home/carlos/'))[1]
  15.  
  16.     combo = gtk.combo_box_new_text()
  17.     for t in text:
  18.         combo.append_text(t)
  19.    
  20.     texto = gtk.Entry()
  21.     texto.set_text("nombre-de-la-carpta")
  22.     texto.connect("activate", crear_carpeta)
  23.    
  24.     boton = gtk.Button("Crear Carpeta")
  25.     boton.connect("clicked", crear_carpeta)
  26.    
  27.    
  28.     caja.pack_start(combo, False, False,5)
  29.     combo.show()
  30.     caja.pack_start(texto, False, False, 5)
  31.     texto.show()
  32.     caja.pack_start(boton, True, True, 5)
  33.     boton.show()
  34.     return caja
  35.  
  36. class PackBox1:
  37.        
  38.    def __init__(self):
  39.        
  40.        self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
  41.      
  42.        self.window.set_title("ejemplo")
  43.        self.window.set_border_width(10)
  44.        self.window.set_size_request(500, 100)
  45.        self.window.set_resizable(False)
  46.        
  47.        box1 = gtk.VBox(gtk.FALSE, 0)
  48.        
  49.        box2 = combo_boton(gtk.FALSE, 0, gtk.FALSE, gtk.FALSE,0)
  50.        box1.pack_start(box2, gtk.FALSE, gtk.FALSE, 0)
  51.        box2.show()
  52.            
  53.        box1.show()
  54.        self.window.add(box1)
  55.        self.window.show()
  56.          
  57. def main():
  58.     gtk.main()
  59.     return 0
  60.  
  61. if __name__ =="__main__":
  62.     packbox1 = PackBox1()
  63.     main()