canvas работа со списком объектов
Мне нужно реализовать список из объектов canvas, в которомый при добавлении или удалении объекта из списка, в окне объекты сдвигались. Я написал добавление элемента в список, но дальше у меня ступор. Во-первых, у меня добавляется элемент в список, но в окне он сдвигается просто (пересоздаваясь на новых координатах) Во-вторых, я понять не могу как мне например из списка удалить именно второй элемент, в последующем например третьий (ведь после первого удаления он по логики должен стать вторым), то есть нужно ориентироваться как-то по именам желательно.
from tkinter import *
from PIL import ImageTk, Image
list = []
pos = 1
image = None
class test(Frame):
def __init__(self, master):
super().__init__(master)
self.canvas = Canvas(root, width=800, height=600)
self.canvas.pack(fill="both", expand=True)
self.bb = Button(self.canvas, text='OK', command=self.ski)
self.bb.place(x=800/2, y=600/2)
self.bc = Button(self.canvas, text='Del', command=self.ski2)
self.bc.place(x=800/2, y=600/2)
def ski(self):
global pos, image
self.img = Image.open('test.png'))
self.img = self.img.resize((32, 32))
self.img2 = ImageTk.PhotoImage(self.img)
image = self.canvas.create_image(5+(pos*32), 5, anchor=NW, image=self.img2)
list.append(self.image)
print(list)
pos+=1
def ski2(self):
list.remove(21)
self.canvas.delete(image)
print(list)
if __name__ == "__main__":
root = Tk()
app = test(root)
root.mainloop()