Python 一旦按下鼠标按钮,如何使程序不以无休止的循环运行
因此,我试图使程序在按下后不以无休止的循环方式运行,并检查鼠标按钮何时被释放,停止while循环Python 一旦按下鼠标按钮,如何使程序不以无休止的循环运行,python,python-3.x,pynput,Python,Python 3.x,Pynput,因此,我试图使程序在按下后不以无休止的循环方式运行,并检查鼠标按钮何时被释放,停止while循环 from pynput import mouse from pynput.mouse import Button, Controller import time m = Controller() def on_click(x, y, button, pressed): print('Pressed' if pressed else 'Released') while (pres
from pynput import mouse
from pynput.mouse import Button, Controller
import time
m = Controller()
def on_click(x, y, button, pressed):
print('Pressed' if pressed else 'Released')
while (pressed):
m.move(0, 1)
time.sleep(.001)
with mouse.Listener(
on_click=on_click) as listener:
listener.join()
像这样的。不要试图睡1毫秒,你会浪费太多的资源
from pynput import mouse
from pynput.mouse import Button, Controller
import time
m = Controller()
mousedown = False
def on_click(x, y, button, pressed):
global mousedown
print('Pressed' if pressed else 'Released')
mousedown = pressed
listener = mouse.Listener(on_click=on_click)
while True:
if mousedown:
m.move( 0, 1 )
time.sleep( 0.1 )
你不能那样做。您的事件处理程序必须执行一些简短的操作,然后返回,否则,
mouse.Listener
无法侦听更多事件。你想在这里干什么?按下鼠标时移动鼠标?你必须使用定时器来完成这项工作。单击时的
处理程序可以更新其他线程监视的全局状态。我正在尝试使其成为这样,如果按下鼠标左键,它会向下移动光标,直到释放鼠标左键