Вы должны поместить
if len(coord) > 4 :
root.destroy()
в вашу функцию insertcoords()
.Проверьте следующий пример:
from tkinter import *
root = Tk()
added_elements = []
def CheckLength():
listbox.insert(END, entry_value.get())
added_elements.append(entry_value.get())
if len(added_elements) > 4:
root.destroy()
entry_value = StringVar()
entry = Entry(root, textvariable=entry_value)
entry.grid(row=0, column=0)
button = Button(root, text="Add", command=CheckLength)
button.grid(row=0, column=1)
listbox = Listbox(root)
listbox.grid(row=1, column=0, columnspan=2)
root.mainloop()
Вот обновленная версия вашего кода:
from tkinter import *
root = Tk()
coord = []
def insertcoords(event):
coord.append([event.x, event.y])
print(event.x, event.y)
if len(coord) > 4:
root.destroy()
canvas = Canvas(root)
canvas.grid(row=0, column=0)
canvas.bind("<Button 1>", insertcoords)
root.mainloop()