Tkinter画布中的图像

时间:2019-04-29 10:20:42

标签: python tkinter tkinter-canvas

我正在尝试使用python学习基本动画, 当我尝试将图像插入到tkinter画布中时,看不到任何错误,但是图像也没有。

from tkinter import *
import time
from PIL import *


def initiate():
    canvas1 = Canvas(root, width=800, height=600)
    canvas1.pack(expand=YES, fill=BOTH)
    im = PhotoImage(file='flag.gif', height=100, width=100)
    canvas1.create_polygon(10, 10, 0, 20, 20, 20, fill='white')
    print("hi")
    canvas1.create_image(100, 100, image=im)
    print('bye')
    root.update()


root = Tk()
initiate()
root.mainloop()

成功创建了多边形,但未显示图像。 请告诉我我在这里做错了。 我需要将图像放在画布中,而不是在标签中。

1 个答案:

答案 0 :(得分:0)

应该可以:

from tkinter import *

def initiate():
    canvas1 = Canvas(root, width=800, height=600)
    canvas1.pack(expand=YES, fill=BOTH)
    im = PhotoImage(file='flag.gif', height=100, width=200)
    canvas1.create_polygon(10, 10, 0, 20, 20, 20, fill='white')
    label = Label(image=im)
    label.image = im
    print("hi")
    canvas1.create_image(100, 100, image=im)
    print('bye')
    root.update()

root = Tk()
initiate()
root.mainloop()

输出:

enter image description here

有关详细说明,请参见Why do my Tkinter images not appear?