1 回答

TA贡献1784条经验 获得超9个赞
k将和j作为 .like 中的参数传递after:
from tkinter import *
import time
root = Tk()
canvas = Canvas(root)
canvas.pack()
line_id = []
everysecond = [(99), (27),
(107), (29),
(115), (29),
(122), (33),
(129), (35),
(135), (38),
(142), (43),
(147), (48),
(153), (52),
(157), (57),
(161), (64),
(165), (72),
(168), (79),
(169), (85),
(171), (92),
(169), (99),
(171), (108),
(169), (115),
(168), (123),
(165), (130),
(160), (134),
(158), (142),
(153), (147),
(148), (154),
(142), (158),
(136), (160),
(129), (166),
(122), (168),
(114), (170),
(107), (170),
(100), (169),
(92), (169),
(85), (170),
(79), (168),
(72), (166),
(67), (160),
(58), (158),
(52), (153),
(48), (148),
(43), (142),
(38), (134),
(33), (128),
(34), (121),
(30), (114),
(31), (107),
(29), (102),
(30), (91),
(31), (86),
(32), (79),
(35), (70),
(36), (70),
(44), (58),
(47), (53),
(53), (47),
(58), (41),
(63), (37),
(71), (34),
(78), (32),
(85), (30),
(92), (29)]
def second(k, j):
line_id.append(canvas.create_line((everysecond[k], everysecond[j], 100, 100), width=2, fill='red'))
if j == len(everysecond)-1:
for id in line_id:
canvas.delete(id)
canvas.after(100, second, 0, 1)
else:
canvas.after(100, second, k + 2, j + 2)
canvas.after(100, second, 0, 1)
root.mainloop()
添加回答
举报