Python Pygame窗口未显示

Python Pygame窗口未显示,python,pygame,Python,Pygame,我最近在我的Mac电脑上下载了pygame,但由于某些原因,该窗口不会弹出屏幕或任何东西。我没有收到错误消息,它只是运行,但实际上不会弹出显示 import pygame, sys from pygame.locals import* pygame.init() SCREENWIDTH = 800 SCREENHEIGHT = 800 RED = (255,0,0) screen = pygame.display.set_mode((SCREENWIDTH, SCREENHEIGHT)) p

我最近在我的Mac电脑上下载了pygame,但由于某些原因,该窗口不会弹出屏幕或任何东西。我没有收到错误消息,它只是运行,但实际上不会弹出显示

import pygame, sys
from pygame.locals import*

pygame.init()
SCREENWIDTH = 800
SCREENHEIGHT = 800
RED = (255,0,0)
screen = pygame.display.set_mode((SCREENWIDTH, SCREENHEIGHT))

pygame.draw.rect(screen, RED, (400, 400, 20, 20),0)
screen.fill(RED)




pygame.display.update()

您的代码当前正在开始,在窗口中绘制一个红色矩形,然后立即结束。在关闭窗口之前,您可能应该等待用户退出。请尝试以下操作:

import pygame, sys
from pygame.locals import*

pygame.init()
SCREENWIDTH = 800
SCREENHEIGHT = 800
RED = (255,0,0)
screen = pygame.display.set_mode((SCREENWIDTH, SCREENHEIGHT))

pygame.draw.rect(screen, RED, (400, 400, 20, 20),0)
screen.fill(RED)

pygame.display.update()

# waint until user quits
running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

pygame.quit()

最后的循环将确保窗口在用户关闭之前保持打开状态。

请检查此解决方案

import pygame, sys
from pygame.locals import *

pygame.init()
SCREENWIDTH = 800
SCREENHEIGHT = 800
RED = (255, 0, 0)
screen = pygame.display.set_mode((SCREENWIDTH, SCREENHEIGHT))

while True:
    pygame.draw.rect(screen, RED, (400, 400, 20, 20), 0)
    screen.fill(RED)
    pygame.display.update()

在使用draw.rect或bilt之前使用fill

screen.fill(RED)
pygame.draw.rect(screen, RED, (400, 400, 20, 20),0)

在某些系统上,您必须运行事件循环才能正常工作-
pygame.event.get()
如果它不工作,窗口不会像应该的那样弹出。我不是100%确定这是错误的代码,也许我下载的东西不正确。没有工作。。。不能与代码有关