使用 pynput 获取鼠标位置

时间:2021-04-18 13:46:30

标签: python pynput

我想写一个函数,可以通过监听鼠标来获取屏幕的有界区域,并等待2次鼠标点击屏幕上有界区域的每个角,并返回每个点的坐标.我知道如何设置你可以设置 pynput 来处理诸如鼠标按钮按下之类的事件,但我想进入一个状态,在那里我监听事件然后获取它的位置。

def grabArea():
with Listener(on_click=on_click) as listener:
    listener.join()
pos1 = mouse.position
with Listener(on_click=on_click) as listener:
    listener.join()
pos2 = mouse.position
return pos1[0],pos1[1],pos2[0],pos2[1]

这是我想出来的,但对我来说似乎很笨重

1 个答案:

答案 0 :(得分:1)

这个函数将保存一个被点击的 2 个点的列表。

def grabArea():
    points = []
    def on_click(x, y, button, pressed):
        if pressed:
            points.append([x, y])
        if not pressed and len(points) == 2:
            return False
    with Listener(on_click=on_click) as listener:
        listener.join()
    return points

positions = grabArea()
position1 = positions[0]
x1, y1 = position1