我尝试使用以下代码在tkinter中绘制点以创建一条线:
import tkinter as tk
from time import sleep
def myfunction(event):
x, y = event.x, event.y
x1 = (x+1)
y1 = (y+1)
canvas.create_line(x, y, x1, y1)
sleep(0.5)
root = tk.Tk()
canvas = tk.Canvas(root, width=400, height=400)
canvas.pack()
root.bind('d', myfunction)
root.mainloop()
可以理解的是,当我按下“d”键时,程序只会画一个点。我尝试在myfunction
函数中使用循环,如下:
def myfunction(event):
x, y = event.x, event.y
x1 = (x+1)
y1 = (y+1)
for x in range(0,5):
canvas.create_line(x, y, x1, y1)
sleep(0.1)
但是这并不起作用。我尝试了许多其他的解决方案,但似乎没有一个可以解决这个问题。
有解决这个问题的方法吗?