gpt4 book ai didi

python - 如何管理两个线程,pynput 鼠标监听器和 while 循环?

转载 作者:行者123 更新时间:2023-12-03 13:07:42 25 4
gpt4 key购买 nike

我有一个鼠标监听器:

from pynput.mouse import Listener, Button

def on_click(x, y, button):
if button == Button.left:
xy_dict["x"] = x
xy_dict["y"] = y
if button == Button.right:
raise MyException(button)

with Listener(on_click=on_click) as listener:
listener.join()

而且我还有来自其他脚本的 main() 函数。假设 main() 从鼠标监听器中获取 xy,但我如何将这两个线程联合起来?

最佳答案

上下文管理器方法(即 with)仅在您希望能够停止监听器时才有用。如果不需要,只需启动监听器即可:

listener = Listener(on_click=on_click)
listener.start()

它将自 Action 为一个新线程启动:

https://pythonhosted.org/pynput/mouse.html#monitoring-the-mouse

A mouse listener is a threading.Thread, and all callbacks will be invoked from the thread.

访问xy 值的最简单方法是将其包装在类中并更新处理程序中的实例属性;或者定义两个全局变量(xy)。

关于python - 如何管理两个线程,pynput 鼠标监听器和 while 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57618266/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com