python - 有没有办法 deiconify() 或最大化 pyGame 窗口?

标签 python pygame

我目前正在制作图形绘图仪,而且我处于早期阶段,所以我目前只是使用 shell 从用户那里获取输入。但是,由于我的程序的其他部分,我需要在他们开始输入之前打开 pygame 窗口(我无法更改此顺序,因为他们的输入是由函数获取的,我真的不想在这个功能)。这会阻塞 shell ,所以我使用了 pygame.display.iconify()这最小化了 pygame 窗口,做我需要的。
我的问题是,当您完成输入时,pygame 窗口仍然最小化,我希望它作为事件窗口返回。是否有与 iconify() 相反的事情,或者我应该完全更改我的代码吗?
谢谢。

最佳答案

仅使用 pygame 无法做到这一点,但如果您使用的是 Windows,则可以使用 pywin32包裹。
这是一个每秒缩小和恢复窗口的示例:

import pygame
import win32gui
import win32con

def main():
    pygame.init()
    clock = pygame.time.Clock()
    screen = pygame.display.set_mode((200, 200))
    hwnd = win32gui.GetForegroundWindow()
    
    EVENT = pygame.USEREVENT + 1
    pygame.time.set_timer(EVENT, 1000)
    while True:

        for event in pygame.event.get():
            pos = pygame.mouse.get_pos()
            if event.type == pygame.QUIT:
                return
            if event.type == EVENT:
                if win32gui.IsIconic(hwnd):
                    win32gui.ShowWindow(hwnd, win32con.SW_SHOWNOACTIVATE)
                    win32gui.BringWindowToTop(hwnd)
                else:
                    pygame.display.iconify()

        screen.fill((30, 30, 30))
        clock.tick(30)
        pygame.display.flip()
main()

关于python - 有没有办法 deiconify() 或最大化 pyGame 窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62680570/

相关文章:

python - 在 linux 和/或 python 中制作吉他和弦的最简单方法

Python 负列表索引包装为切片

python - 使用 pandas 将分割数据集保存为 .txt 格式

python - 是否可以使用 Python 编写 Windows 服务?

python - Pygame - 在 pygame 窗口周围移动一个正方形,但在改变方向时无法停止当前移动,导致正方形沿对角线移动

pygame - 如何在 pygame 中显示特殊字符?

Python/Pygame - 网格上最近的坐标

python - python 3.6.5 中的 pygame 中没有显示图像

python - 如何打开多个pygame?

python - 将特定单词附加到单独行上的其他单词