【发布时间】:2021-10-17 21:03:22
【问题描述】:
我有一个在按下鼠标键时运行的函数。我想在它发布后取消它。我将如何使用pynput 做到这一点?为了获得一些帮助,这里是我用来执行此操作的代码,但它在等待 on_click 函数完成时不起作用,或者这是我的猜测。
running = False
i = 0
f = 4
delta_x = [1,2,3]
delta_y = [3,2,1]
def wasd(l):
global f
f = f + l
print(f)
if (f == 5):
return True
else:
return False
def logging_mouse(running, i):
while (running and i < len(delta_x)):
print(delta_x[i],delta_y[i])
if wasd(0) == True: break
i = i+1
running = False
def on_click(*args):
global running
global i
print(running)
i = args[3]
if args[-1]:
if not running:
running = True
threading.Thread(target=logging_mouse(running,i)).start()
else:
running = False
wasd(1)
f = 4
i = 0
with Listener(on_release=wasd(1),on_click=lambda event1,event2,event3,event4: on_click(event1,event2,event3,i,event4)) as listener:
listener.join()
【问题讨论】:
-
reddit.com/r/learnpython/comments/8y0p3j/…*os447qcidYW1wLXVxVndodm9NZ2E2WlJDLUNwSDFqVlE。这有帮助