Как перекрасить заголовок окна в pygame?

Для перекраски заголовка окна в игровой библиотеке Pygame вы можете использовать модуль ctypes, который позволяет взаимодействовать с библиотекой оконной системы. Установите пакет ctypes, если он еще не установлен, с помощью команды pip install ctypes.

Вам потребуется функция из ctypes для доступа к функционалу оконной системы:

import ctypes

Затем вызовите функцию ctypes.windll.user32.SetWindowTextA, чтобы изменить текст заголовка окна. Функция принимает два аргумента: дескриптор окна и новый текст заголовка. Поскольку Pygame не предоставляет дескриптор окна напрямую, вам необходимо получить его через метод pygame.display.get_wm_info(). Вот как выглядит полный код:

import pygame
import ctypes

pygame.init()

# Создаем окно
window = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Изменение заголовка окна")

def set_window_title(title):
    # Получаем дескриптор окна
    hwnd = pygame.display.get_wm_info()["window"]

    # Преобразуем строку в байтовый формат
    title = title.encode("utf-8")

    # Изменяем заголовок окна
    ctypes.windll.user32.SetWindowTextA(hwnd, title)

# Основной цикл игры
running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    # Вызываем функцию для изменения заголовка окна
    set_window_title("Новый заголовок окна")

    # Отрисовываем игровой интерфейс
    window.fill((255, 255, 255))
    pygame.display.flip()

pygame.quit()

В этом примере set_window_title - это функция, которую мы создали для удобного изменения заголовка окна. Она принимает строку в качестве аргумента и изменяет заголовок окна, используя функцию SetWindowTextA из библиотеки user32.dll.

Обратите внимание, что SetWindowTextA ожидает строку в кодировке UTF-8. Если вы работаете с другой кодировкой, вам необходимо будет использовать соответствующую функцию из библиотеки user32.dll.

Таким образом, вы сможете перекрасить заголовок окна в Pygame, используя библиотеку ctypes для взаимодействия с оконной системой.