私はTkinterで新しいです。私はキャンバスに2枚の画像を表示しようとしていましたが、できませんでした。私は2つの異なるファイルを作成してこれを達成しようとしました。 1つはすべてのロジックを含み、もう1つはGUIを処理します。ここに私のコードは、これまでのところです:Tkinter - 画像が表示されない
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')
ここでの問題は、私が作成した2つの画像の項目がキャンバスに表示されないということですが、矩形のみ。誰かがこれで私を助けることができますか?
PS:私はPythonのV 3.4
から
Display
継承を作ることができるです同じフォルダ – JOrG