2016-03-01 303 views
0

我該如何去查找烏龜屏幕中鼠標指針的當前位置?我需要它,所以我點擊鼠標並在移動光標時點擊鼠標。我已經搜索谷歌,除了點擊後如何獲得這個位置,這個網站還找不到任何東西。Python(海龜模塊) - 鼠標光標在窗口中的位置

+0

你使用Python的['turtle'](https://docs.python.org/library/turtle.html)模塊嗎?如果是這樣,你有沒有看過文檔中的「使用事件」(https://docs.python.org/2/library/turtle.html#using-events)? –

+0

是的。它只包含onClick事件,點擊拖放,點擊發布。我需要它來監聽鼠標指針的位置。 – helpneeded92

+0

在烏龜屏幕上獲取鼠標座標是我所要求的。所以我可以讓烏龜旋轉並看看鼠標。 – helpneeded92

回答

1

turtle.getcanvas()返回Tkinter畫布。

Like with a Tkinter window,你可以得到它目前的鼠標指針的座標由winfo_pointerx.winfo_pointery

canvas = turtle.getcanvas() 
x, y = canvas.winfo_pointerx(), canvas.winfo_pointery() 
# or 
# x, y = canvas.winfo_pointerxy() 

如果你想只應對移動速度而不是如輪詢鼠標指針在循環中的位置,註冊一個事件:

def motion(event): 
    x, y = event.x, event.y 
    print('{}, {}'.format(x, y)) 

canvas = turtle.getcanvas() 
canvas.bind('<Motion>', motion) 

請注意,事件只在鼠標指針懸停在烏龜畫布上時觸發。

所有這些座標將是窗口座標(在烏龜窗口的左上角有原點(0, 0)),而不是烏龜座標(原點(0, 0)在畫布中心),所以如果你想使用它們進行烏龜定位或方向,你必須做一些轉變。