为什么不能在类变量中显示图像? python tkinter canvas

时间:2019-02-16 12:58:59

标签: python tkinter tk

我在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()

exec result

0 个答案:

没有答案