2013-12-23 5 views
2

Как я могу найти текущую позицию мыши в Python, которая может быть интегрирована в черепаху? я предпочел бы, если вы не использовали любые не встроенная_команда_оболочки модули (загружаемые модули) Любые ответы будут оцененыНайти текущую позицию курсора в черепахе Python

ответ

-1

Согласно turtle docs вы можете использовать:

turtle.position() 

Ой, подождите - вы спросили для позиции мыши ... исследуют ...

Похожи closest thing is:

turtle.onscreenclick() 

, который, очевидно, работает только при нажатии кнопки мыши.

0

Мы можем дотянуться до подложек черепахи Tk, чтобы включить событие '<Motion>'. Я бросаю функцию, чтобы установить/снять событие, чтобы выглядеть как метод экрана черепахи, но вы можете вызвать его на единственном случае экрана turtle.Screen():

import turtle 

def onmove(self, fun, add=None): 
    """ 
    Bind fun to mouse-motion event on screen. 

    Arguments: 
    self -- the singular screen instance 
    fun -- a function with two arguments, the coordinates 
     of the mouse cursor on the canvas. 

    Example: 

    >>> onmove(turtle.Screen(), lambda x, y: print(x, y)) 
    >>> # Subsequently moving the cursor on the screen will 
    >>> # print the cursor position to the console 
    >>> screen.onmove(None) 
    """ 

    if fun is None: 
     self.cv.unbind('<Motion>') 
    else: 
     def eventfun(event): 
      fun(self.cv.canvasx(event.x)/self.xscale, -self.cv.canvasy(event.y)/self.yscale) 
     self.cv.bind('<Motion>', eventfun, add) 

def goto_handler(x, y): 
    onmove(turtle.Screen(), None) # avoid overlapping events 
    turtle.setheading(turtle.towards(x, y)) 
    turtle.goto(x, y) 
    onmove(turtle.Screen(), goto_handler) 

turtle.shape('turtle') 

onmove(turtle.Screen(), goto_handler) 

turtle.mainloop() 

Моего код включает в себя обработчик событий примера движения, что делает черепаху следуйте курсору, как кошка, преследующая лазерную указку. Нет кликов (кроме начального щелчка, чтобы сделать окно активным.):

enter image description here

Смежные вопросы