Tkinter Canvas Image lässt sich nicht wiederherstellen
Verfasst: Samstag 9. Juni 2018, 16:02
Huhu,
Ich beschäftige mich derzeit bei den GUIs mit Hintergründen durch Canvas. Um einen Hintergrund zu erstellen, gebe ich folgendes ein (klappt einwandfrei):
Wenn ich versuche, via Knopfdruck den Hintergrund zu ändern, gebe ich ein:
Klappt auch. wenn ich jetzt aber versuche, den Hinbtergrund wiederzurückzuändern:
Dann löscht sich der Hintergrund "TestFile2", also der 2., aber der 1. erscheint nicht wieder, sondern das ganze Canvas-Hintergrund Zeugs verschwindet und der Default Tkinter Hintergrund kommt... Weiß wer, wie man das richtig macht, bzw ob es eine Art "Canvas.config" gibt?
Vielen Dank schonmal im Voraus!
Ich beschäftige mich derzeit bei den GUIs mit Hintergründen durch Canvas. Um einen Hintergrund zu erstellen, gebe ich folgendes ein (klappt einwandfrei):
Code: Alles auswählen
pil_background_image = Image.open("TestFile.jpg")
fenster.tk_background_image = ImageTk.PhotoImage(pil_background_image)
width = fenster.tk_background_image.width()
height = fenster.tk_background_image.height()
canvas = tk.Canvas(fenster, width=width, height=height, highlightthickness=0)
canvas.pack()
Logo = canvas.create_image(0, 0, image=fenster.tk_background_image, anchor="nw", tag="Hintergrund")
Code: Alles auswählen
def Clear():
Clear_button.config(command=Clear_back)
canvas.delete(Logo)
pil_background_image2 = Image.open("TestFileNeu.jpg")
fenster.tk_background_image = ImageTk.PhotoImage(pil_background_image2)
width = fenster.tk_background_image.width()
height = fenster.tk_background_image.height()
canvas2 = tk.Canvas(fenster, width=width, height=height, highlightthickness=0)
canvas2.pack()
Logo2 = canvas.create_image(0, 0, image=fenster.tk_background_image, anchor="nw", tag="Hintergrund")
Clear_button = Button(fenster, text="Clear", command=Clear)
canvas.create_window(30,20, window=Clear_button, anchor="nw")
Code: Alles auswählen
def Clear_back():
Clear_button.config(command=Clear)
pil_background_image = Image.open("TestFile.jpg")
fenster.tk_background_image = ImageTk.PhotoImage(pil_background_image)
width = fenster.tk_background_image.width()
height = fenster.tk_background_image.height()
canvas = tk.Canvas(fenster, width=width, height=height, highlightthickness=0)
canvas.pack()
Logo = canvas.create_image(0, 0, image=fenster.tk_background_image, anchor="nw", tag="Hintergrund")
Vielen Dank schonmal im Voraus!