Skip to main content

A powerful GUI framework for Pygame that allows you to create menus

Project description

Краткое описание

Nevu UI — это библиотека для декларативного создания пользовательских интерфейсов на Pygame. Проект нацелен на предоставление разработчикам набора готовых, стилизуемых и расширяемых компонентов для быстрого создания современных и отзывчивых интерфейсов в игровых и мультимедийных приложениях.

Главная цель Nevu UI: сделать создание интерфейсов на python еще легче и быстрее

Ключевые особенности включают:

  • Система макетов: Удобное расположение элементов с помощью сеток (Grid) и прокручиваемых контейнеров (Scrollable).
  • Набор виджетов: Готовые к использованию элементы, такие как кнопки, поля ввода и метки.
  • Гибкая стилизация: Возможность кастомизации внешнего вида через систему стилей, поддерживающую цвета, градиенты и рамки.
  • Анимации: Встроенная поддержка анимаций для создания динамичных и живых интерфейсов.
  • Декларативность: Поддержка декларативного создания интерфейса

Стиль

Style - универсальное хранилище параметров для кастомизации внешнего вида

Изменяемые параметры:

  • Gradient
  • ColorTheme - Аналог MaterialDesign
  • Font name/size
  • Border Width/Radius
  • Text Align X/Y
  • Transparency

Главные особенности

Nevu UI позволяет описивать инферфейс с видной структурой

Примеры декларативности:

  • Декларативный подход: Описывайте ваш интерфейс так же, как вы его видите.

    # Указывайте контент прямо при создании макета
    grid = ui.Grid(content={(1,1): ui.Button(...)})
    
  • Адаптивная система размеров (SizeRules): Забудьте о пикселях. Используйте относительные величины, которые подстраиваются под размер окна или родительского элемента.

    • vh / vw: Проценты от высоты/ширины окна.
    • fill: Проценты от размера родительского макета.
  • Мощная система стилей: Настраивайте каждый аспект внешнего вида с помощью универсального объекта Style.

    • Темы: Готовые цветовые темы (synthwave_dark_color_theme).
    • Градиенты: Линейные и радиальные.
    • И многое другое: Шрифты, рамки, скругления, прозрачность.
  • Встроенные анимации: Оживите ваш интерфейс с помощью готовых анимаций появления, движения и т.д.

    widget.animation_manager.add_start_animation(ui.AnimationEaseOut(...))
    

Установка

Зависимости:

Python >= 3.12.*

  • Для Сборки:
    • setuptools >= 61.0
    • Cython
    • numpy
  • Для Запуска:
    • pygame-ce>=2.3.0
    • numpy
    • Pillow

Установка через pip

pip install nevu-ui

Примеры

Пример1

Пример2


Продвинутая сетка

import nevu_ui as ui
import pygame
pygame.init()

class Mygame(ui.Manager):
    def __init__(self):
        super().__init__()
        self.fps = 75 #Задаем нуженый fps
        self.background = (0,0,100) #Цвет фона
        self.window = ui.window.Window((300,300), resize_type=ui.ResizeType.FillAllScreen) #Создаем окно
        main_style = ui.Style( #Гланый стиль
            borderradius=10, borderwidth=2, colortheme=ui.synthwave_dark_color_theme,
            fontname="vk_font.ttf", gradient=ui.style.Gradient(colors=[ui.Color.AQUA,(100,100,100)],type='radial',direction=ui.style.Gradient.TOP_CENTER))
        style_mini_font = main_style( #Подстиль
            fontsize=15, border_radius=15,  
            borderwidth=10, gradient=ui.style.Gradient(colors=[ui.Color.REBECCAPURPLE,ui.Color.mix(ui.Color.AQUA,ui.Color.REBECCAPURPLE)],type='linear',direction=ui.style.Gradient.TO_TOP))
    
        b = ui.Button(lambda: print("Button 1"), "Test Chamber", [100*ui.fill,33*ui.fill], style=style_mini_font(borderradius=15, borderwidth=10), words_indent=True, alt=True) #Создаем кнопку
        i = ui.Input([100*ui.fill,33*ui.fill],style_mini_font(borderradius=30,fontname="vk_font.ttf"),"","Введите",multiple=True, alt=True) #Создаем инпут
        
        i.animation_manager.add_start_animation(ui.AnimationEaseOut(3,[0,-100],[0,0],ui.AnimationType.POSITION)) #Добавляем анимацию в начало
        
        #создаем макет
        gridmenu = ui.Grid([66*ui.fill, 40*ui.fill], x=3,y=3, 
                                content={
                                        (2,1): b,
                                        (2,2): i
                                    }
                         )
        
        self.menu = ui.menu.Menu(self.window,(100*ui.vw,100*ui.vh),
                style = main_style(borderradius=20,borderwidth=1), alt=False, 
                layout = ui.Grid([100*ui.fill,100*ui.fill],x=3,y=3, 
                         content = {
                         (2,1.2): gridmenu,
                         (2,2.1): gridmenu, #Внимание: Grid поддерживает 
                         (2,3): gridmenu    #Координаты с плавающими числами в допустимом диапозоне
                     }   
                 )
             )    
        self.menu.quality = ui.Quality.Best #Для качества(по умолчанию Quality.Decent)
        self.menu.will_resize = True #Для оптимизации

    def draw_loop(self):
        self.menu.surface.fill(self.background)
        self.menu.draw()
        #рисуем меню
      
    def update_loop(self, events):
        self.menu.update()
        show_fps = True
        fps_mode = "Unslowed"
        #Для показа фпс
        if show_fps:
            print(f"FPS {fps_mode}: ",ui.time.fps)

def test_main():
    #Запускаем
    game = Mygame()
    game.run()

    sys.exit()

test_main()

Статус Nevu UI на данный момент

Макеты (Layout_Type)

(✅ - сделано, ❌ - не сделано, 💾 - устарело)

  • Grid
  • Row
  • Column
  • Scrollable
  • 💾 IntPickerGrid
  • Pages
  • 💾 Gallery_Pages
  • 💾 Appending_Layout_H
  • 💾 Appending_Layout_V
  • CheckBoxGroup

Виджеты (Widget)

  • Widget
  • Button
  • Label
  • Input
  • Empty_Widget
  • Tooltip (В 0.6)
  • 💾 ImageWidget
  • 💾 GifWidget
  • MusicPlayer (Будет переработан)
  • 💾 ProgressBar
  • 💾 SliderBar
  • 💾 ElementSwitcher
  • 💾 FileDialog
  • RectCheckBox

Лицензия

Nevu UI защищен лицензией MIT

Дополнительная информация

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

nevu_ui-0.5.5-cp314-cp314t-win_amd64.whl (303.8 kB view details)

Uploaded CPython 3.14tWindows x86-64

nevu_ui-0.5.5-cp314-cp314t-musllinux_1_2_x86_64.whl (761.4 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

nevu_ui-0.5.5-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (767.3 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

nevu_ui-0.5.5-cp314-cp314t-macosx_11_0_arm64.whl (304.7 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

nevu_ui-0.5.5-cp314-cp314t-macosx_10_13_x86_64.whl (304.0 kB view details)

Uploaded CPython 3.14tmacOS 10.13+ x86-64

nevu_ui-0.5.5-cp314-cp314-win_amd64.whl (294.0 kB view details)

Uploaded CPython 3.14Windows x86-64

nevu_ui-0.5.5-cp314-cp314-musllinux_1_2_x86_64.whl (722.9 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

nevu_ui-0.5.5-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (723.5 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

nevu_ui-0.5.5-cp314-cp314-macosx_11_0_arm64.whl (296.8 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

nevu_ui-0.5.5-cp314-cp314-macosx_10_13_x86_64.whl (297.5 kB view details)

Uploaded CPython 3.14macOS 10.13+ x86-64

nevu_ui-0.5.5-cp313-cp313-win_amd64.whl (292.8 kB view details)

Uploaded CPython 3.13Windows x86-64

nevu_ui-0.5.5-cp313-cp313-musllinux_1_2_x86_64.whl (727.4 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

nevu_ui-0.5.5-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (731.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

nevu_ui-0.5.5-cp313-cp313-macosx_11_0_arm64.whl (296.6 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

nevu_ui-0.5.5-cp313-cp313-macosx_10_13_x86_64.whl (298.0 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

nevu_ui-0.5.5-cp312-cp312-win_amd64.whl (293.9 kB view details)

Uploaded CPython 3.12Windows x86-64

nevu_ui-0.5.5-cp312-cp312-musllinux_1_2_x86_64.whl (745.9 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

nevu_ui-0.5.5-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (748.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

nevu_ui-0.5.5-cp312-cp312-macosx_11_0_arm64.whl (298.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

nevu_ui-0.5.5-cp312-cp312-macosx_10_13_x86_64.whl (299.3 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

File details

Details for the file nevu_ui-0.5.5-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: nevu_ui-0.5.5-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 303.8 kB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nevu_ui-0.5.5-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 21a12cceb4b7f226e3b39081374fcaeb329f2637b589477b98d6b6d3269a74b6
MD5 20a2ba715012182e726a330bde5a9ea2
BLAKE2b-256 703fe9e682ac931f774065cd6f23f3194deb30e75f10349356d643fd84e084a6

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.5-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.5.5-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 75676e5177943fca09d90954effe29bd4a71305f766adf3c4e28d961c5ac028c
MD5 e9019ddaeb47b9e1f79ddeee9df12d55
BLAKE2b-256 3c9219d113dab8067808cc655d874d3013946cf963ac6a0a3bb6c9b7b5da6468

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.5-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.5.5-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 0bbd8991fec6b2a4d66a2e431acd840a771b7661ae5c537ee660d27cc57a8f4d
MD5 58261d6254476155d20766247b21d40e
BLAKE2b-256 e9b880cd8dddf905622f2fdc285f6cb2c7eee5446b9e770c2a25d40695af1a08

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.5-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.5.5-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e7433ba985359875fba9a550403cd409b030e2ff77d72de570c6f8f41f1a7b4c
MD5 0a8028a51537925db7bd7b4d45d88ffd
BLAKE2b-256 10023d80c08987a1d3f8c69cfbcbd9e1e91492433877fabe843405e451817ffd

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.5-cp314-cp314t-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.5.5-cp314-cp314t-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 c7f0b3f4f53e11e88fe396737f9a3802917c31c9cd3dcd97578d5e113f3f0f43
MD5 4e1fabdc95110c91219d3006de1aa9ca
BLAKE2b-256 2cb8a4fdf87d32f806f206d29541e397106b054824937737032e28da25cfcc63

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.5-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: nevu_ui-0.5.5-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 294.0 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nevu_ui-0.5.5-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 89215561b0904aeca2a28b48a13af96d59315562014f5c353183e1f46db541f7
MD5 c050978d86c97b52153f2dbca60f4220
BLAKE2b-256 5ddafd13bac3b92685dd3958d506bf40b21295cc5092b5aff6c91012d7577051

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.5-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.5.5-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e470263d2f11f41e2ce2110596c99f0761aa3ecb8b918c553d4747fa61f3e84d
MD5 0ef0b958fae4631e275783be097b96c1
BLAKE2b-256 6a3526fb55a95886bb87a9b3d7c0e14c3ebb79a75d47774b35976d0ca9c6d63b

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.5-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.5.5-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 f4005b6fe3fa8c80a616a23a558d1575310e57fffc31b1f1e5c3dc252180de72
MD5 7d2e7ea4a7f321bebabc2902a385035a
BLAKE2b-256 021507b7c8e99bc25c2c27945c6f0928950faa033bc5f5ba95829e435483968a

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.5-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.5.5-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2efc43232b5b78b56c6c43f0b22cebc8cb905a0bc25c6e28299066ec1d4091e3
MD5 3d258a99d56b729f758de7167da10e4f
BLAKE2b-256 bd7a0441d58acdf8a638623e687d7608fcf2401db97b8cf2cf0b2ea6bd721faa

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.5-cp314-cp314-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.5.5-cp314-cp314-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 6bf95d2a400abdd3f08b8c223381118480d8d071723bbca77d671290ece4a258
MD5 718db258268294e7a7b82ed5e79709d5
BLAKE2b-256 e5fbf0763f25671fb108ca212d012d8545fcdabf1ef21415b536a56f0f7ebf6e

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.5-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: nevu_ui-0.5.5-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 292.8 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nevu_ui-0.5.5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 e080df645f48bd3f95f77e6bbe2934f4581c5a525a00a6f6abe9479c50ec4375
MD5 18a77c70c0dd96277c9433bfee3ded69
BLAKE2b-256 c25e34bb281ae8f912dfc066afb40d924900c27a334b5bd38ec219e271c547a9

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.5-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.5.5-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a624b138e6278d2450678c86e2977ec2606962a554670f7d42b2b96c12c8c2a0
MD5 3d45d39fd090badb0a9867dfe936baba
BLAKE2b-256 ada61c8e096a2404aa536ae6d2f2b80109883961c9ff7b47bd855817bb617017

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.5-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.5.5-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 1fa89275088db4127abac88994738a52db9e9fb7b4f29b5e943b08c9fa3c69e9
MD5 5383770c4e96924f2ea4eaa505037314
BLAKE2b-256 8d100860dac81376b1f6c341b4c4aa959b3cf924b65f65b9b9a1d38a472ded66

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.5-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.5.5-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1fdcd50e3bdc0a15e0d8be66eede9d69b85fd4ab10a941a714eb9b7f15ddbf90
MD5 b617f2dec1fc71ef1da7db0aa10099f6
BLAKE2b-256 b8388a270675afb2e8d532adfa8df22f755e85de4f7e3aa071f7b5b1fa8a073c

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.5-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.5.5-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 5e3bb59b2f3dea7bbf3325f7dfa94e341fc2a462240a3c6e1a45dab94c45a71f
MD5 f66104912b4b44d0b183949864f6b180
BLAKE2b-256 5ddab0ea2dc4baab26a01d3e56c121c394df86eaf889587c20b48e8e9194e1e1

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.5-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: nevu_ui-0.5.5-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 293.9 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nevu_ui-0.5.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0ee06b0c56e42eb25f726f13d22904099761176c63686f55eae93e21a7e696ff
MD5 36e109519724e34066a7acc49809b9a3
BLAKE2b-256 8e54f3764e48a475f19f31f4a2b278d21ac3f443262870778c78c06a47f0b2c9

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.5-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.5.5-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 960515c53f0a465d375195804e5254c38dc7ca2df84b560202e02365cff3092f
MD5 dd85e7db01207f70fda8f970e1dd7434
BLAKE2b-256 ce9ef851128769dc3af559314a3526369e6b01342fbd93f0d4131e6eb0307f64

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.5-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.5.5-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 81f61158574773b79edb75d87b8dbfddd64eb87f525f01b2fa96394355000d1d
MD5 0891e75b1001a14d2ee08777466f378f
BLAKE2b-256 8c42e1018f4243988587cc7c9726b464dd634840d98fa5335df9d0eb8bb0686a

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.5-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.5.5-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0ddb1ba931404a6276a920d88854109ea216fea736f1897e14ab0449cb82d027
MD5 34324cf7c457ed0ef7760279aa5cb23b
BLAKE2b-256 4ec1902435dd76ac976c9a1dc07761250daf7609921961fca9cf7e069bcfaa15

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.5-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.5.5-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 f838e8e6f9e4e6843679737dcdd542f4822c5ea6780609e40a50fbb444967af0
MD5 d5f97772631c74b224beab8c6e23437a
BLAKE2b-256 e1e0e90982e7b2aa2ea5227695c20128ba24aeb83a753b59687f6e3f0b2f7ad1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page