当我们在代码下面创建tkinter图像时,我想为其赋予层:
from tkinter import *
canvas_width = 300
canvas_height =300
master = Tk()
canvas = Canvas(master,
width=canvas_width,
height=canvas_height)
canvas.pack()
mylist = []
img = PhotoImage(file="./Images/screwsmall.png")
mylist.append (canvas.create_image(20,20, anchor=NW, image=img))
img_2 = PhotoImage(file="./Images/screwsmall.png")
mylist.append (canvas.create_image(50,20, anchor=NW, image=img_2))
mainloop()
如你所见,创建了两个图像,但是第二个图像位于第一个图像的顶部。如何通过代码确定它们的层?换句话说,我可以不按创建顺序将第一个图像放在另一个图像上吗?
对Canvas对象使用tag_lower()和tag_raise()方法:
canvas.tag_raise(mylist[0]) # move the first image to the top
是的,这很有效。为什么是tag_raise?
据我所知,我可以给不同的标签分层。.tag_raise(tagOrId,aboveThis)不错。
tkinter中的许多事情都涉及标签的概念,您可以在其中将标签分配给一组事物。在这种情况下,它是1的一组,但是您仍然可以使用相同的命令来处理它们。