如何在后台运行 pynput?
How to run pynput in the background?
我正在使用 pynput 的 keyboard.Listener
并加入了线程。
def main():
with Listener(on_release=checkSPress) as listener:
listener.join() # keep on listening
def checkSPress(key):
if 'char' in dir(key):
if key.char == 's':
print("Starting ...")
main()
按下 s
键后,我希望它终止主线程中的侦听器和 运行 事物。我想要这样做是因为在按下 s
键后我创建了一个 GUI,但它抛出了 QApplication must be created inside main thread
的错误。有没有一种方法可以返回到主线程和 运行 函数或完全终止侦听器(我对线程和 pynput 还很陌生。)
您只需要 return False
从 callback
停止 Listner
。试试看:
if key.char == 's':
print("Starting ...")
return False
我正在使用 pynput 的 keyboard.Listener
并加入了线程。
def main():
with Listener(on_release=checkSPress) as listener:
listener.join() # keep on listening
def checkSPress(key):
if 'char' in dir(key):
if key.char == 's':
print("Starting ...")
main()
按下 s
键后,我希望它终止主线程中的侦听器和 运行 事物。我想要这样做是因为在按下 s
键后我创建了一个 GUI,但它抛出了 QApplication must be created inside main thread
的错误。有没有一种方法可以返回到主线程和 运行 函数或完全终止侦听器(我对线程和 pynput 还很陌生。)
您只需要 return False
从 callback
停止 Listner
。试试看:
if key.char == 's':
print("Starting ...")
return False