使用 pynput 获取鼠标位置
get mouse positions with pynput
我想编写一个函数,可以通过监听鼠标来获取屏幕的边界区域,并等待 2 次鼠标单击屏幕边界区域的每个角,并且 return 每个点的坐标。我知道你可以如何设置你可以设置 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]
这是我想出的,但对我来说似乎很笨重
此函数将保留 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
我想编写一个函数,可以通过监听鼠标来获取屏幕的边界区域,并等待 2 次鼠标单击屏幕边界区域的每个角,并且 return 每个点的坐标。我知道你可以如何设置你可以设置 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]
这是我想出的,但对我来说似乎很笨重
此函数将保留 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