我想写一个函数,可以通过监听鼠标来获取屏幕的有界区域,并等待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]
这是我想出来的,但对我来说似乎很笨重
答案 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