如何将pygame屏幕保持在前台



我有一个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

相关内容

最新更新