Bild wird nicht angezeigt, falls aus Funktion aufgerufen
Verfasst: Dienstag 25. April 2023, 10:39
Hallo zusammen,
ich bin gerade völlig am verzweifeln, da ich das Problem nicht wirklcih nachvollziehen kann. Ich habe folgenden Code:
Header und URL habe ich jetzt mal unkenntlich gemacht, daran liegt es aber auch nicht. Das Problem ist folgendes: Im Neuen Fenster wird kein Bild angezeigt. Wenn ich dem Label einen Text, statt einem Image übergebe, wird dieser angezeigt. Jetzt könnte man denken, dass kein JPEG vom Server kommt. Es wird aber eines übergeben. Der Code funktioniert wie er soll, sobald ich alles aus der Funktion open_image () herausziehe. Wie kann das sein? Der Zugriff auf root ist in der Methode gegeben, sonst würde er mir ja auch kein Text-Label anzeigen. Am Bild selbst kann es auch nicht liegen, weil es ja ohne die Funktion funktioniert. Ich bin wirklich absolut ratlos. Hätte jemand eine Idee was die Ursache sein könnte? Vielen Dank im voraus 
ich bin gerade völlig am verzweifeln, da ich das Problem nicht wirklcih nachvollziehen kann. Ich habe folgenden Code:
Code: Alles auswählen
import tkinter as tk
from PIL import Image, ImageTk
import requests
import io
def open_image():
headers = {
"Authorization": "&&&&&&&&",
}
url = "&&&&&&&&&&&"
response = requests.get(url, headers=headers, verify=False)
jpeg_data = response.content
jpeg_image = Image.open(io.BytesIO(jpeg_data))
tk_image = ImageTk.PhotoImage(jpeg_image)
new_window = tk.Toplevel()
new_window.title("Bildvorschau")
label = tk.Label(new_window, image=tk_image)
label.pack()
root = tk.Tk()
root.title("Hauptfenster")
button = tk.Button(root, text="Bild anzeigen", command=open_image)
button.pack()
root.mainloop()
