Fotosortierer
Verfasst: Samstag 3. August 2019, 23:42
Hallo zusammen,
ich bin eigentlich kein richtiger Programmierer, hab aber Spaß an der einen oder anderen Sache. Mein aktuelles Projekt beschäftigt sich mit den Fotobüchern unserer Kinder. Ich sammle alle Fotos von allen Kameras im Haushalt in einem Ordner mit der Jahreszahl. Aus dieser Ansammlung von Fotos wird jedes Jahr für jedes Kind ein Fotobuch bestellt. Dafür müssen sie vorher händisch sortiert werden. Bei 3 Kinder ein Riesenakt.
Ich versuche mich daher gerade an einer GUI mit Python Programm zu schreiben, welches alle Bilder in einem Ordner einzeln anzeigt und dann für jedes Kind eine Schaltfläche bereit hält um die Bilder in separate Ordner zu kopieren. Soweit klappt es mit dem ersten Bild. Es wir mir angezeigt und ich kann es in die Ordner kopieren. Wenn ich nun auf weiter klicke verschwindet das erste Bild und ich bekomme nur noch grauen Hintergrund zu sehen. Ich weiß aber, dass der Zeiger im Array auf das nächste Bild springt und mir diese per Knopfduck auch in die entsprechenden Ordner kopiert wird. Es wird aber nicht angezeigt. Vielleicht kann mir dabei jemand helfen.
Mir ist Bewusst, dass der Code sehr rudimentär aussieht und quasi laienhaft, aber es geht mir nur um die Funktion.
Hier der gesamte Code:
ich bin eigentlich kein richtiger Programmierer, hab aber Spaß an der einen oder anderen Sache. Mein aktuelles Projekt beschäftigt sich mit den Fotobüchern unserer Kinder. Ich sammle alle Fotos von allen Kameras im Haushalt in einem Ordner mit der Jahreszahl. Aus dieser Ansammlung von Fotos wird jedes Jahr für jedes Kind ein Fotobuch bestellt. Dafür müssen sie vorher händisch sortiert werden. Bei 3 Kinder ein Riesenakt.
Ich versuche mich daher gerade an einer GUI mit Python Programm zu schreiben, welches alle Bilder in einem Ordner einzeln anzeigt und dann für jedes Kind eine Schaltfläche bereit hält um die Bilder in separate Ordner zu kopieren. Soweit klappt es mit dem ersten Bild. Es wir mir angezeigt und ich kann es in die Ordner kopieren. Wenn ich nun auf weiter klicke verschwindet das erste Bild und ich bekomme nur noch grauen Hintergrund zu sehen. Ich weiß aber, dass der Zeiger im Array auf das nächste Bild springt und mir diese per Knopfduck auch in die entsprechenden Ordner kopiert wird. Es wird aber nicht angezeigt. Vielleicht kann mir dabei jemand helfen.
Mir ist Bewusst, dass der Code sehr rudimentär aussieht und quasi laienhaft, aber es geht mir nur um die Funktion.
Hier der gesamte Code:
Code: Alles auswählen
from tkinter import *
import fnmatch
from PIL import Image, ImageTk
import os
from PIL import *
i=0
ordner = 'W:\\2019'
dateien = fnmatch.filter(os.listdir(ordner), '*.jpg')
def weiter(e):
global i, ordner, dateien,label1
i+=1
path = ordner+"\\"+dateien[i]
print(path)
img = bild(path)
label1.config(image=img)
def zurueck(e):
global i, ordner, dateien,label1
i-=1
path = ordner+"\\"+dateien[i]
print(path)
img = bild(path)
label1.config(image=img)
def kind1(e):
global i, ordner, dateien
os.system('copy '+ordner+"\\"+dateien[i]+' '+ordner+'\\Kind1\\')
def kind2(e):
global i, ordner, dateien
os.system('copy '+ordner+"\\"+dateien[i]+' '+ordner+'\\Kind2\\')
def kind3(e):
global i, ordner, dateien
os.system('copy '+ordner+"\\"+dateien[i]+' '+ordner+'\\Kind3\\')
def bild(path):
image = Image.open(path).resize((1024, 800))
return (ImageTk.PhotoImage(image))
root=Tk()
root.title("Fotos")
root.geometry("1500x800")
path = ordner+"\\"+dateien[i]
print(path)
img = bild(path)
label1=Label(root, image=img)
label1.pack(side="left", fill = "both", expand = "yes")
button1=Button(root,height=10, width=50, text="zurück")
button1.pack(side='bottom')
button1.bind('<Button-1>',zurueck)
button2=Button(root, height=10, width=50, text="kind1")
button2.pack(side='bottom')
button2.bind('<Button-1>',kind1)
button3=Button(root, height=10, width=50, text="kind2")
button3.pack(side='bottom')
button3.bind('<Button-1>',kind2)
button4=Button(root, height=10, width=50, text="kind3")
button4.pack(side='bottom')
button4.bind('<Button-1>',kind3)
button5=Button(root, height=10, width=50, text="weiter")
button5.pack(side='bottom')
button5.bind('<Button-1>',weiter)
root.mainloop()
[/Code
Vielen Dank schon mal im Vorraus.