我在python3.7.1。上编写gui编程。
当我使用python tkinter canvas时,我不显示图像。
我使用class变量作为image变量,但是它不能工作。 所以我使用实例变量,它可以工作。
有什么区别?
import tkinter as tk
from PIL import Image,ImageTk
class img_canvas(tk.Frame):
def __init__(self,master=None):
tk.Frame.__init__(self,master)
i = Image.open('./sample.png')
w,h = i.size
self.img_canvas1= tk.Canvas(self, width=w, height=h)
self.img_canvas2 = tk.Canvas(self, width=w, height=h)
tki = ImageTk.PhotoImage(i)
self.tki = ImageTk.PhotoImage(i)
self.img_canvas2.create_image(w/2,h/2,image=tki)
self.img_canvas1.create_image(w/2,h/2,image=self.tki)
self.img_canvas1.pack()
self.img_canvas2.pack()
请