【发布时间】:2017-12-27 17:29:36
【问题描述】:
我尝试使用以下代码在 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)
但这不起作用。我尝试了许多其他解决方案,但似乎都没有。
这个问题有解决办法吗?
【问题讨论】:
标签: python tkinter tkinter-canvas