擅长:python、mysql、java
<p>仔细考虑如何设置setworldcoordinate()。-500-500意味着你的世界有1000个大小,窗口大小是500。另外,鼠标指针偏离窗口根-两个绝对坐标都应该使用。你混淆了绝对坐标-鼠标指针和vrootx,两者的比例不同,所以两者之间的距离没有意义。下面的代码可能更接近您的预期。请注意,我将世界坐标设置为与鼠标指针从窗口左上角偏移的绝对坐标相匹配。在</p>
<pre><code>import turtle
import tkinter as tk
root = tk.Tk()
root.title("Draw!")
cv = tk.Canvas(root, width=500,height=500)
cv.focus_set()
cv.pack(side = tk.LEFT)
pen = turtle.RawTurtle(cv)
window = pen.getscreen()
def main():
window.setworldcoordinates(0,500,500,0)
window.bgcolor("white")
frame = tk.Frame(root)
frame.pack(side = tk.RIGHT,fill=tk.BOTH)
pointLabel = tk.Label(frame,text="Width")
pointLabel.pack()
print(dir(root))
def getPosition(event):
x = root.winfo_pointerx()-root.winfo_rootx()
y = root.winfo_pointery()-root.winfo_rooty()
print(x, y)
pen.goto(x,y)
pass
cv.bind("<Motion>", getPosition)
cv.pack
tk.mainloop()
pass
if __name__ == "__main__":
main()
pass
</code></pre>