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#!/bin/python/ env
import gtk
import os
def combo_boton(homogeneous, spacing, expand, fill, padding):
caja = gtk.HBox(homogeneous, spacing)
caja.set_border_width(10)
def crear_carpeta(self, data=None):
systema = os.system('mkdir /home/carlos/'+texto.get_text())
text = next(os.walk('/home/carlos/'))[1]
combo = gtk.combo_box_new_text()
for t in text:
combo.append_text(t)
texto = gtk.Entry()
texto.set_text("nombre-de-la-carpta")
texto.connect("activate", crear_carpeta)
boton = gtk.Button("Crear Carpeta")
boton.connect("clicked", crear_carpeta)
caja.pack_start(combo, False, False,5)
combo.show()
caja.pack_start(texto, False, False, 5)
texto.show()
caja.pack_start(boton, True, True, 5)
boton.show()
return caja
class PackBox1:
def __init__(self):
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.set_title("ejemplo")
self.window.set_border_width(10)
self.window.set_size_request(500, 100)
self.window.set_resizable(False)
box1 = gtk.VBox(gtk.FALSE, 0)
box2 = combo_boton(gtk.FALSE, 0, gtk.FALSE, gtk.FALSE,0)
box1.pack_start(box2, gtk.FALSE, gtk.FALSE, 0)
box2.show()
box1.show()
self.window.add(box1)
self.window.show()
def main():
gtk.main()
return 0
if __name__ =="__main__":
packbox1 = PackBox1()
main()