python - Pygame 将窗口设置在顶部而不改变它的位置

标签 python pygame

正如我在以下主题中发现的那样:How to make python window run as "Always On Top"?

我知道如何在上面放一个窗口。但我想把它保持在同一个位置。作者说他找到了解决方法来查找 x 和 y 值。我想知道我怎样才能做到这一点!

如何获取 pygame 窗口的 x、y 值?也许这是一种错误的做法。

我正在寻找的效果是,当我通过某些函数调用触发它时,窗口会出现在顶部。

对于了解英雄联盟的人来说,当游戏开始时,窗口会在顶部并保持在相同的坐标。

最佳答案

使用相同的 function 有一个更短的解决方案:

from ctypes import windll
SetWindowPos = windll.user32.SetWindowPos

NOSIZE = 1
NOMOVE = 2
TOPMOST = -1
NOT_TOPMOST = -2

def alwaysOnTop(yesOrNo):
    zorder = (NOT_TOPMOST, TOPMOST)[yesOrNo] # choose a flag according to bool
    hwnd = pygame.display.get_wm_info()['window'] # handle to the window
    SetWindowPos(hwnd, zorder, 0, 0, 0, 0, NOMOVE|NOSIZE)

关于python - Pygame 将窗口设置在顶部而不改变它的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25381589/

相关文章:

python - 从日期时间到时间戳Python

python - 在 python 中绘制日期和值

python - 有没有办法在 Pymunk 中实现静摩擦力

python - 取经销商的总销售额,并得到每个经销商占所有经销商总销售额的百分比

python - 如何在 for 循环中跳过几次迭代

python - Pygame 窗口未在 macOS Catalina 上显示

python - Pygame (python) 中翻转图像的问题

python - pygame `.mid` 音频文件在其他平台上听起来不同

python - 如何加快Python代码在功能强大的计算机上运行的速度?

python - 使用 screen.blit() 时 Pygame 文本不出现