【发布时间】:2020-11-26 18:06:43
【问题描述】:
我想使用 tkinter 在画布上显示两个图像 pic1.png 和 pic2.png。第一个图像 (pic2.png) 已经显示在 tkinter 窗口上。但是,第二张图片 (pic1.png) 将在 1 秒后出现,并位于第一张图片的后面。
为了实现这一点,我写了这段代码,
from tkinter import *
from PIL import Image, ImageTk
root = Tk()
frame = Frame(root)
frame.pack()
canvas = Canvas(frame, width=250, height=250, bd=0, highlightthickness=0, relief='ridge')
canvas.pack()
my_pic1 = PhotoImage(file="my_pic1.png")
frame.after(1000, lambda : canvas.create_image(50,50,image=my_pic1, anchor=NW, tag="A"))
my_pic2 = PhotoImage(file="my_pic2.png")
canvas.create_image(50,50,image=my_pic2, anchor=NW, tags="B")
canvas.tag_raise("B")
canvas.tag_lower("A")
root.mainloop()
但是我将第二张图片(pic1.png)放在第一张图片(pic2.png)后面时遇到了问题。我正在实现的是第二张图片(pic1.png)出现在第一张图片(pic2.png)的上方。请在我的代码中帮助我。
【问题讨论】:
-
在后面?你的意思是第一张图片会覆盖第二张图片?
-
是的,没错!第二张图片的尺寸比第一张图片大一点,所以即使在第一张图片的后面也能看到。
标签: python python-3.x tkinter canvas tkinter-canvas