首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我关闭PyGame窗口时,窗口会关闭,但是python会变得没有响应性。

当我关闭PyGame窗口时,窗口会关闭,但是python会变得没有响应性。
EN

Stack Overflow用户
提问于 2021-01-31 19:55:54
回答 1查看 41关注 0票数 0

我用游戏写了一个游戏。游戏运行良好,但当我退出并关闭窗口时,当窗口关闭时,本身不会退出,而是显示(没有响应),而我不得不强制退出。

我从导入几个模块开始代码

代码语言:javascript
复制
import random, pygame, sys
from pygame.locals import*

代码中只有一个地方可以直接命令程序关闭。

代码语言:javascript
复制
def terminate():
    pygame.quit()
    sys.exit()

要退出程序,始终运行terminate()函数。

我尝试将pygame.display.quit()添加到pygame.quit()之上,并以raise SystemExit代替sys.exit()

是什么原因导致python关闭窗口而不关闭自身呢?

EN

回答 1

Stack Overflow用户

发布于 2021-02-01 12:49:55

我不允许你退出。输入sys.exit()对我是无效的,您只需调用exit()退出程序即可。

这样你就可以这样关上窗户:

代码语言:javascript
复制
# main loop
running = True
while running:
    for event in pygame.event.get():
        if event.type == QUIT: # if the user closes the window
            running = False


# after exiting mail loop
pygame.quit()
exit()

根据this answer编辑,您应该更喜欢使用quit()而不是exit()

但是,

quit一样,在生产代码中使用exit被认为是不好的,应该保留给解释器使用。这是因为它也依赖于site模块。

既然我使用了quit(),我就不会遇到任何问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65983605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档