Я новичок в tkinter и пытаюсь сделать базовое приложение для рисования.Однако, когда я перемещаю курсор, он иногда внезапно останавливает рисование, а затем показывает только законченную линию через несколько секунд.Это показано здесь.
https://www.youtube.com/edit?video_referrer=watch&video_id=_g8n55V6qPQ
Это задержка?В противном случае мой ноутбук работает нормально, и он может даже «запаздывать» с первого раза (т.е. до того, как на холсте появятся какие-либо другие объекты).Если это просто задержка, какие у меня есть обходные пути при создании моего приложения для рисования на Python?
Это мой код:
from tkinter import *
root = Tk()
root.title("Note Taking")
can_width = 800
can_height = 800
canvas = Canvas(root, width=can_width, height=can_height, bg='white')
canvas.pack(padx=20, pady=20)
class g():
points = []
user_line = None
drawing = False
t = 0
def leftClick(event):
g.points = []
g.user_line = None
g.drawing = True
g.points.append(event.x)
g.points.append(event.y)
def leftMove(event):
# Print out an increasing number: t, so I can see it in the output
print(g.t)
g.t+=1
if g.drawing:
g.points.append(event.x)
g.points.append(event.y)
if g.user_line == None:
g.user_line = canvas.create_line(g.points, width=4, smooth=1)
else:
canvas.coords(g.user_line, g.points)
def leftRelease(event):
g.points = []
g.user_line = None
canvas.bind('<Button-1>', leftClick)
canvas.bind('<B1-Motion>', leftMove)
canvas.bind('<ButtonRelease-1>', leftRelease)
root.mainloop()