为什么我不能更改 python 窗口图标?



我想用代码改变pygame窗口图标:

import pygame
pygame.init()
screen = pygame.display.set_mode((800, 600))
pygame.display.set_caption("Snake Game")
icon = pygame.image.load('snake icon.png')
pygame.display.set_icon(icon)
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False

当我使用那个代码时它不会工作,就像窗户自己关上了,但是当我把代码改成:

import pygame
pygame.init()
screen = pygame.display.set_mode((800, 600))
pygame.display.set_caption("Snake Game")
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False

它的工作,但它仍然有默认的pygame图标,我想改变pygame图标,谁能告诉我代码出了什么问题?

确保资源(图像)路径和工作目录正确。

映像文件路径必须相对于当前工作目录。工作目录可能与python文件的目录不同。

文件的名称和路径可以通过__file__获取。os.getcwd()可获取当前工作目录,os.chdir(path)可更改当前工作目录

import os
sourceFileDir = os.path.dirname(os.path.abspath(__file__))
os.chdir(sourceFileDir)

进一步参见pygame.display.set_icon():

[…有些系统不允许窗口图标在显示后更改。此函数可在pygame.display.set_mode()之前调用,以便在设置显示模式之前创建图标。

设置screen = pygame.display.set_mode((800, 600))前的图标:

icon = pygame.image.load('snake icon.png')
pygame.display.set_icon(icon)
screen = pygame.display.set_mode((800, 600))

最新更新