Hola, buenas tardes.
Estoy haciendo una interfaz grafica y me piden que cree un boton el cual me permita elegir un directorio de trabajo.
En cuyo directorio de trabajo debe leerme todos los archivos .jpg e introducirlos en una listbox.
Como deberia hacerlo? Es que llevo semanas leyendo en guias y no he sacado nada claro..
Gracias por todo.
Yo pensé en algo así :rolleyes:
from Tkinter import *
import tkFileDialog
import os
v0=Tk()
list1=Listbox(v0)
list1.pack()
mivalor=StringVar()
def listar():
dirname = tkFileDialog.askdirectory(parent=v0,initialdir="/",title='Selecciona una Carpeta')
if len(dirname ) > 0:
print "Directorio= %s" % dirname
os.chdir(dirname)
for files in os.listdir("."):
if files.endswith(".jpg"):
print files
list1.insert(END,files)
b1=Button(v0,text="Insertar en Listbox",command=listar).pack()
v0.mainloop()
Saludos
Muchisimas gracias, me ha sido de gran ayuda.
Aparte de esto, como seria un boton para seleccionar toda el contenido de dentro de la listbox y otro boton para desmarcar todo lo que tengo marcado de la listbox?
Despues tambien necesitaria un boton para quitar de la listbox todo lo que tengo marcado y otro boton para quitar de la listbox todo lo que tengo desmarcado.
lo de quitar lo que tengo marcado tengo algo asi, pero no me funciona ya que el comando delete no sirve para esto...
def ocultar_seleccionados():
seleccion = llista.curselection()
if llista.curselection() != ():
seleccion=delete()
Podriais ayudarme otra vez porfavor? Me salvariais la vida.
Gracias.
[MOD]: Usa las etiquetas para insertar código.
Con este ejemplo ya esta casi terminado lo que quieres. la próxima ayuda sera menor literal. porque tampoco me voy a poner a hacer todo por usted.
from Tkinter import *
import tkFileDialog
import os
v0=Tk()
list1=Listbox(v0,selectmode=EXTENDED)
list1.pack()
mivalor=StringVar()
def listar():
dirname = tkFileDialog.askdirectory(parent=v0,initialdir="/",title='Selecciona una Carpeta')
if len(dirname ) > 0:
print "Directorio= %s" % dirname
os.chdir(dirname)
for files in os.listdir("."):
if files.endswith(".jpg"):
print files
list1.insert(END,files)
def Borrar():
items = list1.curselection()
pos = 0
for i in items :
idx = int(i) - pos
list1.delete( idx,idx )
pos = pos + 1
b1=Button(v0,text="Insertar en Listbox",command=listar).pack()
b2=Button(v0,text="Insertar en Listbox2",command=Borrar).pack()
v0.mainloop()
Ponte a estudiar.
saludos