Hallo,
ich moechte dem user die Moeglichkeit mehrere Bilder in der Oberflaeche angeben lassen zu koennen. Natuerlich soll das dynamisch sein d.h im prinzip kann nur 2 aber auch z.B 100 eingeben.
Ich dachte vielleichtso:
* Es gibt ein entry wo er den pfad eines Bildes angibt. Ueber einen buttonMenu kann er einen browser dialog oeffnen um das Bild auch manuell aus dem dateisystem zu waehlen. (So wie es halt gaengig ist).
Jetzt gibt es einen zusaetzlichen append button mit dem man dann den ausgewaehlten pfad in ein Textfeld inserten kann - pro Bild wird eine Zeile angehaengt z.B so:
Bild1 = /pfad/zum/ersten/bild/bild1.jpg
Bild2 = /pfad/zum/zweiten/bild/bild.jpg
wenn er nun ein Bild loeschen will soll er einfach eine Zeile rausnehmen.
Spaeter ueberpruefe ich ob jedes Bild einer Zeile auch wirklich existent ist.
Hat jemand bessere Vorschlaege? Bin gern Auge
Danke euch!
Ideenvorschlag: Multiple Pfadauswahl
- Michael Schneider
- User
- Beiträge: 569
- Registriert: Samstag 8. April 2006, 12:31
- Wohnort: Brandenburg
Hi Mati,
eine Listbox ist zum Anzeigen und Auswählen ganz gut geeignet. Ansonsten bist Du schon auf dem richtigen Weg. Ich habe diesen Code mit heißer Nadel gestrickt, den kann man sicher noch verbessern und anpassen. Aber ich denke er gibt Dir einen guten Ansatz, wie man das lösen könnte:
Grüße,
der Michel
eine Listbox ist zum Anzeigen und Auswählen ganz gut geeignet. Ansonsten bist Du schon auf dem richtigen Weg. Ich habe diesen Code mit heißer Nadel gestrickt, den kann man sicher noch verbessern und anpassen. Aber ich denke er gibt Dir einen guten Ansatz, wie man das lösen könnte:
Code: Alles auswählen
from Tkinter import *
from tkFileDialog import askopenfilename
tk = Tk()
tk.title("Mehrfachauswahl")
def ausgabe(lResult):
print "Gewaehlte Dateien:", lResult
def create_gui(root, callback):
def add_name(sName) : listbox.insert(END, sName)
def search_name() :
"""Erfragt einen Dateinamen und gibt laesst ihn der Liste hinzufuegen"""
sName = askopenfilename()
if sName: add_name(sName)
def del_name() :
lSelected = list(listbox.curselection())
lSelected.reverse() # rueckwaerts, da sich die Liste beim Loeschen verkuerzt
for iIndex in lSelected:
listbox.delete(iIndex)
def rueckgabe():
lResult = listbox.get(0, END)
frame.master.destroy()
callback(lResult)
frame = Frame(root, bd = 3, relief = SUNKEN)
frame.grid()
listbox = Listbox(frame, selectmode = MULTIPLE, width = 40, height = 10)
listbox.grid(row = 1, column = 1, rowspan = 5)
Button(frame, text = "suchen", command = search_name).grid(row = 1, column = 2, sticky = EW)
Button(frame, text = "entfernen", command = del_name).grid(row = 2, column = 2, sticky = EW)
Button(frame, text = "Abbruch", bg = "#fbb", command = frame.master.destroy).grid(row = 10, column = 2, sticky = EW)
Button(frame, text = "Ok", command = rueckgabe).grid(row = 10, column = 1, sticky = EW)
create_gui(tk, ausgabe)
tk.mainloop()
der Michel
Diese Nachricht zersört sich in 5 Sekunden selbst ...