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.6-cp314-cp314t-win_amd64.whl (463.1 kB view details)

Uploaded CPython 3.14tWindows x86-64

nevu_ui-0.5.6-cp314-cp314t-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

nevu_ui-0.5.6-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (1.2 MB view details)

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

nevu_ui-0.5.6-cp314-cp314t-macosx_11_0_arm64.whl (462.8 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

nevu_ui-0.5.6-cp314-cp314t-macosx_10_13_x86_64.whl (460.5 kB view details)

Uploaded CPython 3.14tmacOS 10.13+ x86-64

nevu_ui-0.5.6-cp314-cp314-win_amd64.whl (445.6 kB view details)

Uploaded CPython 3.14Windows x86-64

nevu_ui-0.5.6-cp314-cp314-musllinux_1_2_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

nevu_ui-0.5.6-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (1.1 MB view details)

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

nevu_ui-0.5.6-cp314-cp314-macosx_11_0_arm64.whl (451.2 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

nevu_ui-0.5.6-cp314-cp314-macosx_10_13_x86_64.whl (451.4 kB view details)

Uploaded CPython 3.14macOS 10.13+ x86-64

nevu_ui-0.5.6-cp313-cp313-win_amd64.whl (443.7 kB view details)

Uploaded CPython 3.13Windows x86-64

nevu_ui-0.5.6-cp313-cp313-musllinux_1_2_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

nevu_ui-0.5.6-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (1.1 MB view details)

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

nevu_ui-0.5.6-cp313-cp313-macosx_11_0_arm64.whl (450.2 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

nevu_ui-0.5.6-cp313-cp313-macosx_10_13_x86_64.whl (451.9 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

nevu_ui-0.5.6-cp312-cp312-win_amd64.whl (445.0 kB view details)

Uploaded CPython 3.12Windows x86-64

nevu_ui-0.5.6-cp312-cp312-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

nevu_ui-0.5.6-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (1.2 MB view details)

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

nevu_ui-0.5.6-cp312-cp312-macosx_11_0_arm64.whl (452.4 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

nevu_ui-0.5.6-cp312-cp312-macosx_10_13_x86_64.whl (454.0 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

File details

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

File metadata

  • Download URL: nevu_ui-0.5.6-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 463.1 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.6-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 505d69d7f3cf4b0a8529c603a53f7b1b3f7b70b4003fefc50651cc518ebd9ffe
MD5 d59c07ea3e377a6ff6751b277cc13a21
BLAKE2b-256 650277bf3301468b0c740e64878ca7c3ac165fb1d8c2c281639078dc717b806d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nevu_ui-0.5.6-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d7fa3efc89fe3571f4a967d7981b6fba9998064204db019eeb46a293bd5197ea
MD5 b3dc19a046e9c9df5a42ba4eee202416
BLAKE2b-256 e9adddb356f93ba4afdcea65abdba729f8e014539a247bf9c697c84baf0fec15

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.6-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.6-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 3b24925dff30bcfb851ecce24f66b1b30a9b87f4b8ebf891cfb83aaad90f1aa7
MD5 59ef00e3ea4ce05e44133bb1ea4eea7b
BLAKE2b-256 e1da60e2b220d1719326a334282f4109511e75534f22608488dc84aea3817f91

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nevu_ui-0.5.6-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e0aaf225c2517fe8a26090cd52a1974758dcc7d4a2f1e1a443440838f82b79b4
MD5 7146d474012c19b5d52f1600c53eed6c
BLAKE2b-256 ab4788b4a2ad28bb124ca8384264a97b6a21d2f69dfc89496ee9ca3e9e1d88f2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nevu_ui-0.5.6-cp314-cp314t-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 1b5ef57cddf844bb2cc8e24b8df06c2e7e5d0159f7c0a07fe813d0eaae6738e2
MD5 254b88f78a69b0322735035c378f42fa
BLAKE2b-256 791dbbcf00d82555a354cda90ecc8bbe5ddd74cb725f560adfa179cfd318c3f4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nevu_ui-0.5.6-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 445.6 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.6-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 17356c591279a452eb2dd8c8db94c886b23e8bfaa17005d065cbe04ff71478ea
MD5 7e8dccf3bf038c00914133cc02206f21
BLAKE2b-256 dd8c6d66995f3a5f126d72c4cdf2ada25b782e5648072fefac027a22f09726b3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nevu_ui-0.5.6-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3249db2fe9d33ba4d0f3df8dced406c7258ceb849ce18a849b60e4908a04451a
MD5 7562b47c2a80fe5a783c66a15f85ce4b
BLAKE2b-256 d927f3100494656202a09f8966a2cf77276fa5090d00c4e488ed000062b2a8ea

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.6-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.6-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 f0af32eb9a21f8ac7192ca0eb6539de706d2e2fbb6dd3482aad543bd7a833029
MD5 42eb8d863bc381303f291413eb4144cd
BLAKE2b-256 21107e314a9cd1c08faf49f40c7cf6c66214dab5db60164352f5605b9a69e829

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nevu_ui-0.5.6-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fdd734d1ea52f945de0e8fa8a7824a9f33f21261f4df632b11a96a4de07efa4a
MD5 562cf09863198a08311ccdfeee3fd9d6
BLAKE2b-256 8e3547affa510c8c00fc2d8e0a7e41e410fb2b5ff46a5ecf8a384c48574fc3ef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nevu_ui-0.5.6-cp314-cp314-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 c28d6e8a4d6cdf94a97251b269bc17206326b6c13b092f660773a0adeaea1017
MD5 9b2b9e9644e7e983ef76aeec2cd398d2
BLAKE2b-256 9b45854d2efaaf6372375c420a122dff49bb7d2f50f528a543d529d03e5e31be

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nevu_ui-0.5.6-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 443.7 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.6-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 fa23679e51ee438aa0c6c68cbad7b957bb01c49761e155d4217af3b4c812762b
MD5 ce2689515a1673fa687b547e79cdf81f
BLAKE2b-256 ba463b3ab71f2ccd97d03d2ea846f85653eaa96eeec1a0d66820727b6e625b66

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nevu_ui-0.5.6-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b36d4f94faf03a47e4b2fb9dc2854a580eac41931f4d7d85f93d605662c4e6b4
MD5 f78e7fb616ed18ba70fce0ae065cad7b
BLAKE2b-256 496f48ead271362d41d0a11602c7a68393b9499b2889c7d4b7279aa7b76cbd05

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.6-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.6-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 3bf1975a4f03bd4e5bf8c918e296f663faeb0970d4dbeadc43dff2390bb2cea7
MD5 928ad207c18f2f9e027f95616a76d859
BLAKE2b-256 fbfca2994da1062ceebcd76cc406ca9500cb8e511669755639bd0dc505f61ae1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nevu_ui-0.5.6-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0ea5a1779b7129bdc6809f8e41255783581b7c32b17a7f86e6cd2023d17c3dd1
MD5 1e658b3965675b65d6005817fe4c1a58
BLAKE2b-256 198b227737dfc9f872db5b1fc5b50b9f07e42572f56aa3e6be4e30833f2155f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nevu_ui-0.5.6-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 13ee951c978c5dfce168908fee1d178ba65fd6c3c38367051317e798f3064434
MD5 8e92156b23a27d51f05544ee0bf18585
BLAKE2b-256 5c31006d69b6874cb40c167eebf6a76a5da6d1f6d191bd431cfb2d4c74cb5edc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nevu_ui-0.5.6-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 445.0 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.6-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 3798740c528b80719d34d468afe65f52937ca8dc19a2c75f15b9004af61250bc
MD5 1e264192d9d50c0ca6df45f46d4c5b6a
BLAKE2b-256 3946b8389badd64457174868561b64345577e7e5583710109b81fd1a4eed95e2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nevu_ui-0.5.6-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d47a2f72b23a42ced9039afc3d7445613b1ac39948ead9213dfb79985cab9a14
MD5 283d554d9a215c2ceb9b5db6d185ea9c
BLAKE2b-256 e7a9cf537ca65b0953bbc3ee56b04e0627a5e479e872a976019905e1faca7aa4

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.6-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.6-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 4c9c5e26cd316c45b779e5b7f977d52e4b9e9fdde8d730e921ef51491f38e823
MD5 46e5ae562d63af463ecdea85e77036cc
BLAKE2b-256 226f6a204a7e3ac2f9d6014a597cd125286f78cc70324b437a9027d52c4580a1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nevu_ui-0.5.6-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 70596680015d04ad705557b065ef94b9d4d38ca084a2e6e2cc61a1c5b80ad2e9
MD5 ee4e4f68551f32bc4201379475d3171d
BLAKE2b-256 11121775f989c90965b186ba0450e33f294a4b82dd4559636eb284efb73716d3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nevu_ui-0.5.6-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 0e4a97da98d7f84490825589a79182b467ca0105407dcae886d678371bbf9112
MD5 db4cc2a9e2d9cd9322ac7c0e72d7b2b4
BLAKE2b-256 15cf5d38e77ad4fc63aec8a5eadacdd9d79d4f48c184a9b115a6fa4942b939aa

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