Как что-то подобное работает у вас?
from tkinter import *
main = Tk()
c = Canvas(main, width=600, height=600)
c.pack()
line = []
def click(event):
global line
X = int(c.canvasx(event.x))
Y = int(c.canvasy(event.y))
line.append((X,Y))
if len(line) > 1:
startX,startY = line[-2]
c.create_line(startX, startY, X, Y)
c.bind("<Button-1>", click)
mainloop()
Я немного изменил ваш код, чтобы сохранить список координат X, Y, по которым щелкнули.Если щелкнуть более 1 точки на экране, она проведет линию между текущей нажатой точкой и последней нажатой точкой.
Причина, по которой ваш код не работал, заключается в том, что initX и initY забытымежду вызовами на функцию щелчка.Добавление их в список решает это.