Ayuda con python tkinter

Iniciado por AlbertSerres, 22 Octubre 2013, 16:30 PM

0 Miembros y 1 Visitante están viendo este tema.

AlbertSerres

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.

Danyfirex

Yo pensé en algo así  :rolleyes:


Código (python) [Seleccionar]
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

AlbertSerres

#2
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...

Código (python) [Seleccionar]
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.

Danyfirex

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.



Código (python) [Seleccionar]
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