我试图了解下面的Tkinter代码,允许用户使用计算机的鼠标在画布上自由绘图。然而,我无法理解以下代码行实际在做什么。
prev = move_event
这是完整的代码......
from tkinter import *
master = Tk()
canvas = Canvas(master, width=600, height=300, bg='white')
canvas.pack(padx=20, pady=20)
def click(click_event):
global prev
prev = click_event
def move(move_event):
global prev
canvas.create_line(prev.x, prev.y, move_event.x, move_event.y, width=2)
prev = move_event # what does this do ?
canvas.bind('<Button-1>', click)
canvas.bind('<B1-Motion>', move)
mainloop()
答案 0 :(得分:0)
在click函数中,全局变量用于存储初始鼠标单击。移动函数中使用相同的变量作为对绘制线的起点的引用。当用户移动鼠标时,重复调用移动函数,并从最后一个点(prev = move_event)继续绘制。当用户释放鼠标单击然后重新单击时,该过程再次开始,点击功能存储初始点。