Ich bin neu auf Tkinter. Ich habe versucht, zwei Bilder auf meiner Leinwand zu zeigen, aber ich konnte nicht. Ich habe versucht, dies zu erreichen, indem ich zwei verschiedene Dateien erstellt habe. Einer wird alle Logik dahinter enthalten und der andere wird mit der GUI umgehen. Hier ist mein Code so weit:Tkinter - Bilder werden nicht angezeigt
file1.py
from file2 import *
import tkinter as tk
import random
# global variables
w = 'initial'
class start_gui(tk.Frame):
def __init__(self, parent, *args, **kwargs):
tk.Frame.__init__(self,parent, *args, **kwargs)
# create canvas
self.canvas = tk.Canvas(parent, width=800, height=800, background="green")
self.canvas.pack()
c = Display(self.canvas)
c.current_play(w)
if __name__ == "__main__":
# create main window
root = tk.Tk()
root.geometry("800x800")
start_gui(root)
root.mainloop()
file2.py
import tkinter as tk
from functools import partial
from PIL import ImageTk
from PIL import Image
class Display:
def __init__(self, canv):
self.canvas = canv
def current_play(self, option):
if (option == 'initial'):
self.initial_display()
elif (option == 'n' or option == 's'):
self.ns_display()
def initial_display(self):
# display cat image
self.im = Image.open("cat.gif")
self.photo_image = ImageTk.PhotoImage(self.im)
self.demo = self.canvas.create_image(400, 400, image=self.photo_image, anchor='center')
self.canvas.create_rectangle(50, 25, 150, 75, fill="blue")
self.temp_image = tk.PhotoImage(file="cat.gif")
self.demo2 = self. canvas.create_image(600, 600, image = self.temp_image, anchor='center')
Das Problem hierbei ist, dass die beiden Bilder Gegenstände, die ich erstellt zeige nicht auf der Leinwand, sondern nur das Rechteck. Kann mir jemand dabei helfen?
PS: Ich verwende Python v 3.4
GIF-Bild ist in der gleiche Ordner – JOrG