当前位置: 首页 > 知识库问答 >
问题:

关闭Pygame窗口

巫马自明
2023-03-14

我刚刚花了相当多的时间来寻找pygame的64位安装,以便与Python3.3一起使用(这里),现在我正在尝试创建一个窗口。然而,尽管窗口打开得很好,但当它按下x按钮时并没有关闭。事实上,我必须关闭闲置关闭窗口。我正在运行Win7的64位版本。这是我的密码:

import pygame
import time
(width, height) = (300, 200)
screen = pygame.display.set_mode((width, height))
pygame.display.flip()
pygame.display.set_caption("Hello World")
running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

当我附加

time.sleep(5)
pygame.quit()

它仍然没有关闭。我唯一的猜测就是那个游戏。退出可能会进入其中一个循环,但即使解决了这个问题,我还是更愿意在需要时关闭窗口。

共有3个答案

邬良才
2023-03-14

不确定,但请尝试此操作,因为在我添加pygame后,您的代码在我的系统上运行良好。退出()

import pygame
import time
(width, height) = (300, 200)
screen = pygame.display.set_mode((width, height))
pygame.display.flip()
pygame.display.set_caption("Hello World")
running = True
try:
    while running:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                running = False
    pygame.quit()
except SystemExit:
    pygame.quit()

这可能是因为空闲是在Tkinter上进行的,因此Tkinter和Pygame主循环没有相互理解
不过,您的代码将在命令提示符下运行良好。

澹台俊达
2023-03-14

如果要在按下窗口按钮x时关闭pygame,请输入如下代码:

from sys import exit
while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                exit()

我们把exit()放在pygame之后。退出(),因为pygame。quit()使系统退出,exit()关闭该窗口。

葛雨华
2023-03-14

大多数pyplay教程似乎建议通过调用pygame.quit()然后调用sys.exit()退出。我个人遇到过问题(虽然是在unix系统上),这仍然没有正确关闭窗口。解决方案是在pygame.quit()之前添加pygame.display.quit()。据我所知,这不应该是必要的,恐怕我不知道为什么这解决了问题,但它确实解决了。

 类似资料:
  • 问题内容: 最终编辑: 我在关闭pyplot窗口这一主题上发现,实际上可能不应该使用pyplot完成它。SRK给出了一个很好的示例,说明如何处理将在下面的答案中更新的图。我也偶然发现了如何将pyplot图放到Tkinter窗口中,并且Tkinter比pyplot更擅长打开和关闭窗口。这里是怎样把一个pyplot情节变成Tk的窗口, /最终编辑 我希望能够显示多个图,然后能够从某些代码输入中分别关闭

  • 我在youtube上的视频中找到了一个教程,那个家伙正在运行以下代码: 如果event.type==pyplay。退出: 当我写“pygame.quit:”而不是“pygame.quit:”(在for循环中)时,窗口不会关闭。我完全是个初学者。这是我们必须大写的命令吗?有人能解释一下原因吗?

  • 所以我的问题是:我通常把我的笔记本电脑连接到外部屏幕上,一切正常,直到我需要把我的笔记本电脑带到大学去做进度报告。当我的笔记本电脑没有连接到外部屏幕时,imshow显示的窗口在底部被切断,如图所示。 以前有人遇到过这个问题吗?如果有,你能分享如何解决这个问题吗?我的笔记本电脑使用windows 10,python 3.6.4和opencv 3.3.0。 我当前的代码有点长,所以我将在这里给出流程:

  • 本文向大家介绍c# 实现子窗口关闭父窗口也关闭的方法,包括了c# 实现子窗口关闭父窗口也关闭的方法的使用技巧和注意事项,需要的朋友参考一下 其实是窗口间通讯的问题,在form1上打开form2 ,form2 关闭时关闭form1 实现方法: 在子窗口form2中声明事件: 然后在它的关闭事件中触发本事件: 在父窗口form1中(比如登陆窗口中): 然后弹出子form2窗体的地方这样写: 以上这篇c

  • 本文向大家介绍javascript在当前窗口关闭前检测窗口是否关闭,包括了javascript在当前窗口关闭前检测窗口是否关闭的使用技巧和注意事项,需要的朋友参考一下 在当前窗口关闭前,检测当前窗口是否关闭 在ie9中,如果刷新文档的话,unloadform和onbeforeunload都会执行,如果是关闭页面的话只会执行onbeforeunload事件 值得注意的是,onunload在关闭页面时

  • 所以我正在用pygame做一个游戏,我也想用tkinter。我在tkinter窗口中嵌入了一个pygame窗口,但我似乎什么都做不了。 对于上下文,以下是完整的代码: 当我使用时,什么都不会发生。在类中使用pyplay是有效的,但是在我更复杂的游戏中,为所有变量使用self.variable似乎是不必要的。 如何在window类之外的pygame窗口中运行代码?