gpt4 book ai didi

python-3.x - 如何在不需要启动终端窗口的情况下等到在 python3 中按下热键?

转载 作者:太空宇宙 更新时间:2023-11-03 21:31:12 24 4
gpt4 key购买 nike

我想要某种等待直到按下某个热键的封锁。我对输入('按 Enter 继续')之类的东西很满意,除了这需要我的屏幕在终端页面上,我希望它在我专注于另一个窗口时拿起我的 key 。

Luis Jose 的解决方案似乎可行,而且我已经将 opencv 用于 smoethign else,因此它已导入:How to kill a while loop with a keystroke?然而,运行代码对我没有任何作用,它也没有意识到我按下了 'a' 并一直停留在他的循环中。

import cv2

while (1):
k=0xFF & cv2.waitKey(1)
if k == ord('a'):
break

最佳答案

上面的代码将不起作用,因为 cv2.waitKey 设计用于在使用 cv2.imshow 创建显示窗口并且您想停止显示时工作。这是有道理的,因为 opencv 被设计为图像和视频处理工具箱。您可以尝试使用 pynput 包。

from pynput import keyboard

def on_press(key):
try:
print('alphanumeric key {0} pressed'.format(
key.char))
except AttributeError:
print('special key {0} pressed'.format(
key))

def on_release(key):
print('{0} released'.format(
key))
if key == keyboard.Key.esc:
# Stop listener
return False

# Collect events until released
with keyboard.Listener(
on_press=on_press,
on_release=on_release) as listener:
listener.join()

当您按下 esc 键时,上述代码终止。更多套餐详情请访问:pynput project page

关于python-3.x - 如何在不需要启动终端窗口的情况下等到在 python3 中按下热键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53631120/

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