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
  • CheckBox (Будет переработан)
  • 💾 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.3-cp314-cp314t-win_amd64.whl (303.0 kB view details)

Uploaded CPython 3.14tWindows x86-64

nevu_ui-0.5.3-cp314-cp314t-musllinux_1_2_x86_64.whl (760.6 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

nevu_ui-0.5.3-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (766.7 kB view details)

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

nevu_ui-0.5.3-cp314-cp314t-macosx_11_0_arm64.whl (303.9 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

nevu_ui-0.5.3-cp314-cp314t-macosx_10_13_x86_64.whl (303.2 kB view details)

Uploaded CPython 3.14tmacOS 10.13+ x86-64

nevu_ui-0.5.3-cp314-cp314-win_amd64.whl (293.2 kB view details)

Uploaded CPython 3.14Windows x86-64

nevu_ui-0.5.3-cp314-cp314-musllinux_1_2_x86_64.whl (721.9 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

nevu_ui-0.5.3-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (722.8 kB view details)

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

nevu_ui-0.5.3-cp314-cp314-macosx_11_0_arm64.whl (296.0 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

nevu_ui-0.5.3-cp314-cp314-macosx_10_13_x86_64.whl (296.8 kB view details)

Uploaded CPython 3.14macOS 10.13+ x86-64

nevu_ui-0.5.3-cp313-cp313-win_amd64.whl (292.1 kB view details)

Uploaded CPython 3.13Windows x86-64

nevu_ui-0.5.3-cp313-cp313-musllinux_1_2_x86_64.whl (726.4 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

nevu_ui-0.5.3-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (730.1 kB view details)

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

nevu_ui-0.5.3-cp313-cp313-macosx_11_0_arm64.whl (295.9 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

nevu_ui-0.5.3-cp313-cp313-macosx_10_13_x86_64.whl (297.3 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

nevu_ui-0.5.3-cp312-cp312-win_amd64.whl (293.1 kB view details)

Uploaded CPython 3.12Windows x86-64

nevu_ui-0.5.3-cp312-cp312-musllinux_1_2_x86_64.whl (745.0 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

nevu_ui-0.5.3-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (747.3 kB view details)

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

nevu_ui-0.5.3-cp312-cp312-macosx_11_0_arm64.whl (297.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

nevu_ui-0.5.3-cp312-cp312-macosx_10_13_x86_64.whl (298.5 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

File details

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

File metadata

  • Download URL: nevu_ui-0.5.3-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 303.0 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.3-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 e164934f12e1479164d309763755dd55df2ce660f9738d50414d2711e4ff4c15
MD5 06b665ce52de342aab2c1bc9f62b1d74
BLAKE2b-256 4e1a047a88b1da2eb1cf2a883bcb4d424c6db96b4a8a08ea0112236753eaf6d7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nevu_ui-0.5.3-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a81c7b962bb29733a8a56b086ac7fe1a0980968c980ec08b68180347258824b3
MD5 509e61df21b36b85b069ef6cfa441f05
BLAKE2b-256 8f2f16779589edabe66f35b70f68816f89c3e0f9a0ac61c577f82bba492ab572

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.3-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.3-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 af814d07c43d93f346dc261e6ac51a2ba5068ad612d5117aa22361df0173ccec
MD5 8f283a959ee8f6b45bd7664524132744
BLAKE2b-256 5e98625751409f06491fe44370afeab96099cf4ddd7616ed5dd595c2a9ec4cee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nevu_ui-0.5.3-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 68e7bf48c42dad79365ea7c0a71b59676aec38233d9321b46fe76d1fbb8a6f37
MD5 d21e7bb34d71e668b0609ccc1d386559
BLAKE2b-256 2bfe6db8ef006d79c1a439e1235b2478327b70f0fb7eab21eb772d2c33f01c5c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nevu_ui-0.5.3-cp314-cp314t-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 c078ce63e741dd32850a03f8b8da54d79a8141785964ba252ab70cc7039cdafa
MD5 130719c0a352fea1ead2fa07df11ab8b
BLAKE2b-256 16758b9d59575bd140abb6767024da5a0f5edeef76d6697202556e764cb18506

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nevu_ui-0.5.3-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 293.2 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.3-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 d4852de20bd7e0501bfc897b29eaec481f3275d9eb3f76d9a69f7e2bb206722b
MD5 fdbc0dc21e188ce4ddd987244dd82446
BLAKE2b-256 5b0eba6a6f9bdaaf335d890d49cc24a8454f476b6f67de7f00991515cc30051d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nevu_ui-0.5.3-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1cb0614945a3da617df57ce898a34cb7e8e9b833bb615a2c88e6899fd6984633
MD5 0bb2ab15c43c58b511910efd81312958
BLAKE2b-256 4040f6afdcaafa6007227657096a535805923e79c90adae34c062f1bbce5a7e7

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.3-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.3-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 76c85418dcac477c1f7ef9de0d3b6a5595a83f6683cdb18b0a685e39e05ccaf6
MD5 192f2ec8ed41b218965cbab6d881dcc4
BLAKE2b-256 95a8cd694ddd072b1689549c42f05ef96c90c31acffe68bd89260ecdf283d2c0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nevu_ui-0.5.3-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 30d0ed85e282073052a4dba334fb28ebd81302a2b3bf69fa510ea0df9e50c198
MD5 67c628c554f70167fa0029cc736fbfc7
BLAKE2b-256 453ba1f9573ddc2f47bcc034e839e8a507d99633dc1cc7b36e38afa12f88ba3e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nevu_ui-0.5.3-cp314-cp314-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 4f96687fccc3d1b9bd44fbd06a5560a5aecfa8fc61f5a6d210974fc02d430d4a
MD5 3b9f9ce97bd861e70dcc858c4813e2e6
BLAKE2b-256 98aa14e3f0a4c39ca1de7ec53cc1ba0f78bb63f02536468b674161b4b03d49aa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nevu_ui-0.5.3-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 292.1 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.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 5b3e7e4f9a0bcd8ef21801d0b214bf722da9c9ea86f352d2289ebc05c9737cbf
MD5 dd4e8c6da2e696c34a495b6d1edfe16b
BLAKE2b-256 25ae969b06ae5b177555fa274196a6aeddb50af281b66d395941d339ef30312c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nevu_ui-0.5.3-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 052ad46cfd4b625185a2f4c94f1166064498192f3d05796d754330b049ec53e6
MD5 98032061a15ebf64ffa4d8763d850182
BLAKE2b-256 b3329eb8f2c5c72fa455939a2a7540d1e4baa284973edf6a3b5024ea8cf2c45b

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.3-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.3-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 7cba6bbd02edd2cbcf5c8eee3d73f322da9785cbf4c46e1b7b8795e04191c4d7
MD5 1fee2ee6ea9159c17eca42b32193ca9c
BLAKE2b-256 d62ea87443735064cf535e2c382f47eb6f13a45e880ffa8981fa70577c54268a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nevu_ui-0.5.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 488af9f4c2f56b6e00356a2620f31efe08b10d8809c5b4393cb40fe31f573963
MD5 c157ed09d5b364fab47dfadd0e563c76
BLAKE2b-256 ee4f310b2afef9dd54431f9332f2497190a31187fdfae8b8eb6a60d99f5288bd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nevu_ui-0.5.3-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 30dee179ea61f603b685ba453f218d70a6309a0891ef2f600e1b9a67ca111b05
MD5 19c7c2c6bd0301d2933ac672bc8c99e2
BLAKE2b-256 5720de83b7d531fbb18ca8a11e2f0c8dc4a23112a0439ef2087c6e1b9f336efb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nevu_ui-0.5.3-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 293.1 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.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0037c64f51d61e6297ac41ad146fab0407653f698d6769a75804fd6df5761e62
MD5 826b802ff69cea76658b61b644934999
BLAKE2b-256 8942515d4a11ef5d563a2580a4ccb8fed1ae5edf535e53c94ad1f73d1597f714

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nevu_ui-0.5.3-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b13eaed6100de2fd29f27a0af965b4483d5e38fb02d7e1da6876f20d99f1c9b1
MD5 521031669d239d3d2f553299bdd2e739
BLAKE2b-256 3a53cbba1da72a2c98c5404ddc58fe87250faf8431a411ee4ac290bd5b883ed7

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.3-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.3-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 9c920ad4606297465a83d0fc9abaff1cf05e8025fc84e2456a1535cec33c7346
MD5 e6e59f777b739d60a1afa1c97fbd8317
BLAKE2b-256 26def7183450abed7b171ae97f3d0906708371c673e3fb65d436f5556861554e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nevu_ui-0.5.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 da6b774da0cd121c53e181b3bcdd1104789b7988fb9cf5c1da3dca5937a5a5e8
MD5 7afade5b2e557a27838e953c68cdfc79
BLAKE2b-256 2b7f5a6bd14f0567b04ddea7fd5336346c9d27c4a294e529f78a4522c831c1ad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nevu_ui-0.5.3-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 eb206ed02756831fc964d2d7c48646147211fa85f53ed13d4f40cebc45da43e7
MD5 9c922abd7b5f167a8cb462e732ea86c4
BLAKE2b-256 e6137288f18b4bc10e851afdfeb36d76e136271f4ec4e65b170714820a076c3e

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