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.0Cythonnumpy
- Для Запуска:
pygame-ce>=2.3.0numpyPillow
Установка через pip
pip install nevu-ui
Примеры
Продвинутая сетка(Outdated)
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 - ✅
StackColumn - ✅
StackRow - ✅
CheckBoxGroup
Виджеты (Widget)
- ✅
Widget - ✅
Button - ✅
Label - ✅
Input - ✅
Empty_Widget - ❌
Tooltip(В 0.6) - 💾
ImageWidget - 💾
GifWidget - ❌
MusicPlayer(Будет переработан) - 💾
ProgressBar - 💾
SliderBar - 💾
ElementSwitcher - 💾
FileDialog - ✅
RectCheckBox
Лицензия
Nevu UI защищен лицензией MIT
Дополнительная информация
- Gmail: bebrovgolem@gmail.com
- Создатель: Никита А.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nevu_ui-0.5.7-cp314-cp314t-win_amd64.whl.
File metadata
- Download URL: nevu_ui-0.5.7-cp314-cp314t-win_amd64.whl
- Upload date:
- Size: 612.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2b901573504e5dc8f61437b630fd0ffd9e80034ec19ca95085d4b34baab7dece
|
|
| MD5 |
3176c7967d9e45512243424011fc2bc3
|
|
| BLAKE2b-256 |
d26b5334290310ea0e702e0b3f56a01f1e1fde893aee201c4c0d761068276609
|
File details
Details for the file nevu_ui-0.5.7-cp314-cp314t-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: nevu_ui-0.5.7-cp314-cp314t-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.6 MB
- Tags: CPython 3.14t, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d5536b1be0216a681e019832911aa9979253af1f00258a6894b83ac6304938b7
|
|
| MD5 |
0a37f69008cc16332c43adeda2cc3067
|
|
| BLAKE2b-256 |
04d054a361ade2254f26d4f82c3eba4edc63812019360b5e2de3a5c9699de3df
|
File details
Details for the file nevu_ui-0.5.7-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: nevu_ui-0.5.7-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.6 MB
- Tags: CPython 3.14t, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
520ddbbaca71b5e13a976c04690248d93422fb6a935229cf9325be84022e5c8c
|
|
| MD5 |
5c5d3e2e691722c9376127f1929fe130
|
|
| BLAKE2b-256 |
247332c09624d98cc33479cb71daab51fc9afed5a860011d02282b9e1de22671
|
File details
Details for the file nevu_ui-0.5.7-cp314-cp314t-macosx_11_0_arm64.whl.
File metadata
- Download URL: nevu_ui-0.5.7-cp314-cp314t-macosx_11_0_arm64.whl
- Upload date:
- Size: 613.6 kB
- Tags: CPython 3.14t, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
98d4f6cc4251ba6a637efa194522303a9dfdd7bd9651bbec8b13e2893270c8d2
|
|
| MD5 |
580f1b8868bd36c74df074214e037638
|
|
| BLAKE2b-256 |
b81652925b7e3f33f46e1b48184257c0493eb312f371b2ecbeba9e981a22f0a9
|
File details
Details for the file nevu_ui-0.5.7-cp314-cp314t-macosx_10_13_x86_64.whl.
File metadata
- Download URL: nevu_ui-0.5.7-cp314-cp314t-macosx_10_13_x86_64.whl
- Upload date:
- Size: 610.7 kB
- Tags: CPython 3.14t, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6e773b84f56fe09fc8dcfe2f577b3cbf953f71f01cf2bd64ba61b42e17c6d8fb
|
|
| MD5 |
e9a5ebce3ee1044a7d58ab68673e06f0
|
|
| BLAKE2b-256 |
839de8674fc0f901f23fcce606674415a01a45c5a04547cd6812765e16ae0b41
|
File details
Details for the file nevu_ui-0.5.7-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: nevu_ui-0.5.7-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 585.9 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26473603d94b9aed65534bd695cd656fc1dac8407474bcc2cd1a72a27cd2c85f
|
|
| MD5 |
20a825e108cd6abc4592e5a65756aac1
|
|
| BLAKE2b-256 |
087101295771dbfd2b26611e1a2d0f0bdc5941b85aad3d00ce18ed1905e736e5
|
File details
Details for the file nevu_ui-0.5.7-cp314-cp314-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: nevu_ui-0.5.7-cp314-cp314-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.14, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fdb0e794909dd19a3ce02c11b57784987139396ef2bc3de0a282ab87296489de
|
|
| MD5 |
eebc33ac42093a3d629d7f98c905ee3f
|
|
| BLAKE2b-256 |
eb416d90ab6aeb016a9b39d49f3031810f4a90a3c55ea2f03903bb5c2dfc6237
|
File details
Details for the file nevu_ui-0.5.7-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: nevu_ui-0.5.7-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.6 MB
- Tags: CPython 3.14, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c2bcdda81b808f89868dc4ad3a4b409a34e85c6381f6a55ef13d53896e5858e0
|
|
| MD5 |
a67766a36422c3d3ff634f38e71339e9
|
|
| BLAKE2b-256 |
38637bb1ae65f1857e54b6c1e4daa128dbf6176e84e38497cde31c8a5b6cb037
|
File details
Details for the file nevu_ui-0.5.7-cp314-cp314-macosx_11_0_arm64.whl.
File metadata
- Download URL: nevu_ui-0.5.7-cp314-cp314-macosx_11_0_arm64.whl
- Upload date:
- Size: 599.1 kB
- Tags: CPython 3.14, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3455f465a4dda6e00075b5ae75532b0b7289250b4c3cc289445ea1acf9dbf080
|
|
| MD5 |
4e8b8729b9330963877e7e8bb3558096
|
|
| BLAKE2b-256 |
7d02f8f38d954616b536f16b413320b56cdc38029c9d5936660932dd5e01cc29
|
File details
Details for the file nevu_ui-0.5.7-cp314-cp314-macosx_10_13_x86_64.whl.
File metadata
- Download URL: nevu_ui-0.5.7-cp314-cp314-macosx_10_13_x86_64.whl
- Upload date:
- Size: 600.1 kB
- Tags: CPython 3.14, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0ae783af86313e58e48d91995c6f201a69b8b8995ae599a8b52dd22d7cc4de21
|
|
| MD5 |
d5f1431365bcf2160603bf710626002f
|
|
| BLAKE2b-256 |
77fdd5a568821bf4d2604dc231ebde5f4ccb6eaa89c41ad1a17a1ea00c075810
|
File details
Details for the file nevu_ui-0.5.7-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: nevu_ui-0.5.7-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 583.9 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
969d8db898fb94465cbbc7f5242d21d966b5b4f2059f75a8b8365d603bf429c8
|
|
| MD5 |
9bda97a920e6c840160a2172efc763d1
|
|
| BLAKE2b-256 |
a261c96b597b835e89ee5fbba18514209e0dc69aae877c4eb3eb2041eabdeab7
|
File details
Details for the file nevu_ui-0.5.7-cp313-cp313-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: nevu_ui-0.5.7-cp313-cp313-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.13, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3edef9368de3c4c5686557c128b3b448a9776154be1bfa7cce6fc253abd7090c
|
|
| MD5 |
be6de9fecf82f4dc4c373fed7386470a
|
|
| BLAKE2b-256 |
6871eab4d7890e31bd94547baf3ba6c0a75f98e935473f165267a1e32a70a99c
|
File details
Details for the file nevu_ui-0.5.7-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: nevu_ui-0.5.7-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.6 MB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3aed2b53b395a29b088a2179530cbfb0c7eafa48710274e864915074c8c936a8
|
|
| MD5 |
ff0d028bb9105d9b9122b970b2b1e5d7
|
|
| BLAKE2b-256 |
9eaec19c3136c415b072d7b9dcd6788dec9dd85bfae02791ad8886204403124c
|
File details
Details for the file nevu_ui-0.5.7-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: nevu_ui-0.5.7-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 598.0 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6e7bb5b462aea89ccc5a67c7b4180ddd2238393b18de683a8ba9147e1e9bcbff
|
|
| MD5 |
e0ab00d70220fd0054a86e14ca5ccda5
|
|
| BLAKE2b-256 |
aa40eef3c5823c6e34f14b26d34a2a80d8b043b25564f23452206a7a2fa5a487
|
File details
Details for the file nevu_ui-0.5.7-cp313-cp313-macosx_10_13_x86_64.whl.
File metadata
- Download URL: nevu_ui-0.5.7-cp313-cp313-macosx_10_13_x86_64.whl
- Upload date:
- Size: 600.2 kB
- Tags: CPython 3.13, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
51df4203caf6e14d8868d63e3dd327f9a04fb693154b956008fe63fd37ff928b
|
|
| MD5 |
c0460c8650aa2970c3059e52e964f634
|
|
| BLAKE2b-256 |
3b2cd9a173fa408099cc1f2ef1adad4a3d559f8aa144770c8c4e00cb46fa264b
|
File details
Details for the file nevu_ui-0.5.7-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: nevu_ui-0.5.7-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 586.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e7758ab7e0145c4d1bebd2c2efea8aa612aae2c1e5a5c72238c5d240017d6aa0
|
|
| MD5 |
918c45d4ed90b16f8ebbbabe8fc3477e
|
|
| BLAKE2b-256 |
70ae180f439b543fce0f0d3df93060590b3bb035effd88449acc106033e5eb00
|
File details
Details for the file nevu_ui-0.5.7-cp312-cp312-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: nevu_ui-0.5.7-cp312-cp312-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.6 MB
- Tags: CPython 3.12, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7dbabfe842861b04d80ec688a8ee77591a2e6380fbb40250fb51874495f32646
|
|
| MD5 |
6b7e84ab9e4a57e484cc8369b0fd3381
|
|
| BLAKE2b-256 |
36b304b987038d3dc4f097834500e25dfa4e0401dbf9412dc7282aafc8e4efd4
|
File details
Details for the file nevu_ui-0.5.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: nevu_ui-0.5.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.6 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be25ee734af77f98dca8bdc20e88d38dfbd069e518a7d54143cd211807c057d8
|
|
| MD5 |
995f48ff99471f611fb09a380dc2042a
|
|
| BLAKE2b-256 |
4c98941ba20e1eb0d012724e4060da4d9d74e8b2a93c851c90704dbca13501ac
|
File details
Details for the file nevu_ui-0.5.7-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: nevu_ui-0.5.7-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 601.2 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dbfb0aaa427d44f40175e9af9999b93244cb8dde52d99090de784ea19e3bc546
|
|
| MD5 |
772e84cb702d0f1a34e7a5aebc3d459b
|
|
| BLAKE2b-256 |
ccb9d394235842609a6a017c6f3b496f2cee5f18d772da9f3ad8dd8135999867
|
File details
Details for the file nevu_ui-0.5.7-cp312-cp312-macosx_10_13_x86_64.whl.
File metadata
- Download URL: nevu_ui-0.5.7-cp312-cp312-macosx_10_13_x86_64.whl
- Upload date:
- Size: 603.8 kB
- Tags: CPython 3.12, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6db73854b2b851cc6e9b9b125ac939a4c58969e20549c86e7867eeaa35e6d414
|
|
| MD5 |
6072cfc980e171d176c69ba58a9381af
|
|
| BLAKE2b-256 |
6a77a68a89fbb0c3f5828d70f9006d0dec48fee6ffbb6348e99bc854e1f90870
|