如何更改pygame图标?

22

有人知道如何更改pygame图标吗? 我在pygame网站上找到了一个可以实现这一点的东西,但是当我尝试时,它只会使pygame窗口非常小。

6个回答

32

首先将图标图像作为一个surface加载,然后使用pygame.display.set_icon(surface)更改图标。

编辑:由于提问者不知道什么是surface

http://www.pygame.org/docs/ref/surface.html的文档中:

"pygame Surface用于表示任何图像。 Surface具有固定的分辨率和像素格式。调用pygame.Surface()创建新的图像对象。"

例如,如果您使用了screen = pygame.display.set_mode,那么screen就是一个surface。

因此,在使用pygame.display.set_icon(surface)之前,您必须首先将图像作为pygame.Surface导入,方法是使用a = pygame.image.load('image'),其中a是存储surface的变量,'image'是指向该图像的目录。然后,您可以使用pygame.display.set_icon(surface)将其设置为图标。您可以传递任何surface,但最好是32x32的。

更多信息请参见:http://www.pygame.org/docs/ref/display.html#pygame.display.set_icon


15
programIcon = pygame.image.load('icon.png')

pygame.display.set_icon(programIcon)

这将设置 Pygame 窗口的图标。


1

设置窗口图标时需要小心。请参考pygame.display.set_icon()

[...] 一些系统在窗口图标显示后不允许更改。可以在调用pygame.display.set_mode()之前调用此函数来创建图标。

在初始化窗口pygame.display.set_mode()之前设置图标。例如:

icon = pygame.image.load('my_icon.png') 
pygame.display.set_icon(icon)

screen = pygame.display.set_mode((800, 600))
pygame.display.set_caption(‘my window’) 

此外,图标的尺寸是受限制的:

[...] 您可以传递任何表面,但大多数系统希望围绕32x32大小的较小图像。

如果图标未显示,请尝试使用更小的图标。

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

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

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

import os

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

另一个解决方案是查找绝对路径。 如果图像相对于 Python 文件夹(甚至在同一文件夹中),则可以获取文件的目录并加入({{link1: os.path.join()}})图像文件名。例如:

import pygame
import os

# get the directory of this file
sourceFileDir = os.path.dirname(os.path.abspath(__file__))

iconPath = os.path.join(sourceFileDir, 'my_icon.png')
icon = pygame.image.load(iconPath) 
pygame.display.set_icon(icon)

0

确保在设置标题之前已经设置了显示和图标:

icon = pygame.image.load('icon.png')
pygame.display.set_icon(icon)

0
你只需要创建一个对象,比如一个图标,在该变量中指定你想要设置为图标的图片路径即可。
icon = 'your image path'

(在编写路径时,请确保使用双反斜杠,因为使用单个可能会导致错误) 之后您必须编写:
pygame.display.set_icon(icon)

确保您已经在系统上导入并安装了 Pygame。 Pygame 的安装方式为: (如果您使用的是 Windows) 在您的键盘上按下 Windows+R 键... 这将打开一个对话框,然后按 Enter 键。这将打开命令提示符.. 然后只需运行此命令:
pip install pygame

然后在您的文件夹中导入它 为了导入它,只需编写:

import pygame

如果你的 pip 命令显示错误,请检查 Python 的安装情况,尝试卸载 Python,然后重新安装它。

0
如果您正在使用 pgzero,您可以简单地将全局变量 ICON 设置为所需 PNG 文件的路径,例如:
ICON = 'images/icon.png'

pgzero会自动替换默认图标。

更多信息请参见:https://github.com/lordmauve/pgzero/pull/128/files


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接