我有一个python程序。我正在使用pygame
创建窗口并捕获键盘事件。但当我使用其他应用程序时,我的pygame window
会进入后台,除非我回到前台,否则它不会捕获我的键盘输入。
while True:
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_w:
pygame.quit()
if event.key == pygame.K_p:
print("Take screenshot..")
if event.type == pygame.locals.QUIT:
pygame.quit()
sys.exit()
我该如何解决?
在pygame 1.x中无法轻松做到这一点。由于SDL 2引入了SDL_WINDOW_ALWAYS_ON_TOP
标志,AFAIK pygame 2.x将支持此功能。
如果您在windows上,我想您可以使用win32-API来获取窗口的句柄,并使用HWND_TOPMOST
标志调用SetWindowPos
。