我一直在尝试为我的手写文本识别项目保存捕获手写文本的图像 . 为此我使用的是蟒蛇龟 . 我想通过移动我的鼠标来更改画布上的乌龟坐标(在笔上位置),并通过在按住鼠标左键的同时移动鼠标来使其写入(在笔下位置) . 我无法实现这一点 . 这是我的代码 .
import tkinter
import turtle
sc = tkinter.Tk()
sc.geometry("1000x1000+100+100")
fr4 = tkinter.Frame(sc, height=500, width=600, bd=4, bg="light green", takefocus="", relief=tkinter.SUNKEN)
fr4.grid(row=2, column=2, sticky=(tkinter.N, tkinter.E, tkinter.W, tkinter.S))
# Canvas
canvas = tkinter.Canvas(fr4, width=1920, height=1080)
canvas.pack()
# Turtle
turtle1 = turtle.RawTurtle(canvas)
turtle1.color("black")
turtle1.shape("turtle")
turtle1.speed(100000)
def drag_handler(x, y):
turtle1.ondrag(None) # disable event inside event handler
turtle1.goto(x, y)
turtle1.ondrag(drag_handler) # reenable event on event handler exit
turtle1.ondrag(drag_handler)
sc.mainloop()
1 回答
低于's my implementation of what you describe. I' ve将它从Tk移出并直接进入乌龟 . 但是,我引入了低级别的Tk调用来实现丢失的turtle
onmove()
事件处理程序 . 一旦's in place, it becomes a matter of managing motion, clicks, releases and drags. Make sure to click first on the window' Headers 栏激活它:onmove()
事件的实现来自我对Find the cursor's current position in Python turtle的回答,请您在访问时给它一个upvote . (正如你的drag_handler()
来自我对Turtle freehand drawing的回答一样,如果你还没有,请随意给它一个upvote . )