Я сейчас работаю над проектом, и у меня была плохая идея не проверять мой код до сих пор.
Я получил несколько ошибок, но выставляю здесь только одну из них, которую я пытался свести к минимуму.
Вот мой код:
from tkinter import *
root = Tk()
can = Canvas(root, height = 200, width = 300, bg = "white")
can.tab = [{} for k in range(5)]
nb = 0
def del(event):
global can, nb
can.tab[nb-1] = {}
nb -= 1
def click(event):
global can, nb
x,y = (event.x)//50 * 50, (event.y)//50 * 50
can.tab[nb]['image'] = PhotoImage(master = can, file = "mouse_pointer.png", name = "mouse_pointer") #Removing the name definition makes it work
can.create_image(x, y, anchor = NW, image = can.tab[nb]['image'])
nb += 1
can.focus_set()
can.bind("<Button-1>", click)
can.bind("<Delete>", del)
can.pack()
root.mainloop()
Цель этого кода - создать холст, на котором при нажатии создается изображение, по которому вы щелкнули, а при нажатии del исчезает последнее созданное изображение.
Проблема заключается в следующем Если я не даю имя своим изображениям, оно работает нормально, но когда я даю им имя (тогда все они имеют одно и то же!), Когда я нажимаю del все они удаляются, а не только последний.
Это не очень поможет мне в продвижении моего проекта, но я бы хотел понять, что здесь происходит.