如何检测某个键是否被按下?

问题描述 投票:0回答:1

我有一个函数需要大约 10 秒才能运行。我希望它一遍又一遍地运行,直到我按下某个键,然后完成该功能。 我可以使用 python

keyboard
模块来检测是否按下了某个键,但是如果我在函数运行时按下了某个键,它就不会检测到。是否有一个函数可以将按下的按键放入队列中,每次函数结束时我都可以卸载该队列?

我已经尝试过这段代码:

import pygame
import time
screen = pygame.display.set_mode((500, 500))
pygame.init()
def f():
    time.sleep(10)
    print('done')
running = True
while running:
    f()
    for event in pygame.event.get():
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_q:
                running = False

但是只有在 pygame 窗口中按下 q 时才有效

python keyboard
1个回答
0
投票

您可以使用多线程来解决您的问题,并使用

queue
来传递按键。

© www.soinside.com 2019 - 2024. All rights reserved.