In Tkinter Menü askopenfilename() aufrufen - Rückgabewert ??? ?

Fragen zu Tkinter.
Antworten
Fladdermus
User
Beiträge: 9
Registriert: Dienstag 7. Mai 2019, 14:57

Ich bräuchte bitte noch einmal Hilfe...
(Trotz fleißiger Suche bisher nichts gefunden .) :roll:
Erstmalig habe ich das Menü von Tkinter verwendet.
Naheliegend ist m.E. einen Datei öffnen - Menüpunkt einzubauen.
Dieser ruft eine Funktion auf in welcher mit askopenfilename eine Datei ausgewählt wird.
( Klappt soweit, ich kann mit image.show() eine Bilddatei anzeigen lassen )

aber

Wo /wie bekomme ich den Pfad zu der Datei, die der Benutzer ausgewählt hat, zurück,
mit dem ich dann im Hauptprogramm weiterarbeiten kann ?
Lernen ist wie Rudern im Fluss - wer aufhört, treibt zurück.
Benutzeravatar
__blackjack__
User
Beiträge: 14085
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Fladdermus: Bei GUI-Programmen gibt es so ein Hauptprogramm nicht. Die sind ereignisbasiert, das heisst Du schreibst ausschliesslich Code der kurz auf Ereignisse reagiert. Das Hauptprogramm das alles koordiniert ist die GUI-Hauptschleife. Also bei Tk `mainloop()`.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Benutzeravatar
peterpy
User
Beiträge: 188
Registriert: Donnerstag 7. März 2013, 11:35

Hallo Fladdermus,

Code: Alles auswählen

speicherort = filedialog.askopenfilename(............)
print(speicherort)
Gruss
Peter
Fladdermus
User
Beiträge: 9
Registriert: Dienstag 7. Mai 2019, 14:57

Danke für eure Hinweise.
Ich glaub, ich hab' ne Dankblockade.
Lernen ist wie Rudern im Fluss - wer aufhört, treibt zurück.
Fladdermus
User
Beiträge: 9
Registriert: Dienstag 7. Mai 2019, 14:57

Ich habe nun aus der aufgerufenen Funktion mit return den speicherort zurückgegeben.
Und tatsächlich kann ich von anderen Funktionen darauf zugreifen.
Das erstaunt mich zwar, aber jetzt kann ich wenigstens weiterarbeiten... :D
Lernen ist wie Rudern im Fluss - wer aufhört, treibt zurück.
Benutzeravatar
sparrow
User
Beiträge: 4540
Registriert: Freitag 17. April 2009, 10:28

Du könntest auch zeigen, was du tust. Also den Code. Dann bekommst du Feedback und weißt, ob du möglicherweise auf dem Holzweg bist.
Fladdermus
User
Beiträge: 9
Registriert: Dienstag 7. Mai 2019, 14:57

Hatte ich schon überlegt,
Aber ich dachte, ich kann das Problem in wenigen Sätzen beschreiben.
Es war auch kein Fehler im Programm,
ich hatte nur eine falsche Vorstellung davon, was ich tun muss...
Lernen ist wie Rudern im Fluss - wer aufhört, treibt zurück.
Antworten