我有这个相对简单的程序,它监听鼠标点击,当按住鼠标按钮时打印“1”。不幸的是,当我放开鼠标时,它只会继续打印“1”,即使有一个 if 语句检查鼠标是否被点击,如果不是,则应该停止循环。我正在使用该pynput.mouse
模块进行鼠标交互。
这是我的代码:
import time
from pynput.mouse import Listener
def clicked(x, y, button, pressed):
if pressed == True:
while button == button.left:
print("1")
time.sleep(1)
if pressed == False:
break
with Listener(on_click=clicked) as listener:
listener.join()
我的理论是,一旦循环开始,它就会停止监听鼠标点击,所以它永远不会停止循环。是否有必要为循环创建一个新线程?如果是,我会怎么做?
谢谢!