Как в pygame изменить иконку окна на панели задач?

Как в pygame изменить иконку окна на панели задач?
Написал маленькую программу на pygame:
код игры

import pygame
import sys
import ctypes
 
FPS = 60
W = 700  # ширина экрана
H = 300  # высота экрана
WHITE = (255, 255, 255)
BLUE = (0, 70, 225)
 
sc = pygame.display.set_mode((W, H))
clock = pygame.time.Clock()
pygame.display.set_caption("circle!")
кув = pygame.image.load("C:\спрайти\кув.bmp")
pygame.display.set_icon(кув)
 
# координаты и радиус круга
x = W // 2
y = H // 2
r = 50
 
while 1:
    for i in pygame.event.get():
        if i.type == pygame.QUIT:
            pygame.quit()
            sys.exit()
 
    sc.fill(WHITE)
    pygame.draw.circle(sc, BLUE, (x, y), r)
    pygame.display.update()
 
    keys = pygame.key.get_pressed()
 
    if keys[pygame.K_LEFT]:
        if x <= 47 and W == 700:
            pass
        else:
            x -= 3
    elif keys[pygame.K_RIGHT]:
        if x >= 647 and W == 700:
            pass
        else:
            x += 3
    if keys[pygame.K_DOWN]:
        print(y)
        if y >= 246 and H == 300:
            pass
        else:
            y += 3
    elif keys[pygame.K_UP]:
        print(y)
        if y <= 51 and H == 300:
            pass
        else:
            y -= 3
    clock.tick(FPS)


И он изменил иконку только на окне а не на панели задач.
Я пробовал:
import ctypes
myappid = 'mycompany.myproduct.subproduct.version' # arbitrary string
ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(myappid)
Но оно работает только с tkinter, а не с pygame.
Вот это выдаёт ошибку:
pygame.display.set_caption("Title", get_image_file("C:\спрайти\кув.bmp"))

Вот такую:
Traceback (most recent call last):
File "C:/Users/Oksana/Desktop/кув.py", line 45, in
pygame.display.set_caption("Title", get_image_file("C:\спрайти\кув.bmp"))
NameError: name 'get_image_file' is not defined

Есть ли какой то другой способ?
  • Вопрос задан
  • 1234 просмотра
Пригласить эксперта
Ответы на вопрос 1
delvin-fil
@delvin-fil
Crazy Linux-admin
import inspect, os.path
filename = inspect.getframeinfo(inspect.currentframe()).filename
path     = os.path.dirname(os.path.abspath(filename))
icon_surf = pygame.image.load(path + '/android.png')
    img = pygame.image.load(io.BytesIO(result))
    screen.blit(img, (0, 0))

Сие фрагмент.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы