Skip to main content

Mini-Style

PyPI version Python License

Превращает скучные Python-скрипты в стильные приложения премиум-уровня.


👨‍💻 Автор

Скворцов Сергей Александрович


📋 Лицензия

Это программное обеспечение распространяется по лицензии MIT для некоммерческого использования.

⚠️ Для коммерческого использования требуется приобретение лицензии.
По вопросам лицензирования: ser.skvortsov.386@gmail.com


📦 Установка

pip install mini-style

🚀 Быстрый старт

import mini_style

app = mini_style.App(title="Моё приложение", width=480, height=650)

app.add_label("Привет, мир!")
app.add_button("Нажми меня", action=lambda: print("Кнопка нажата!"))

app.run()

✨ Возможности

  • Минималистичный дизайн — современный темный интерфейс «из коробки».
  • Безрамочное окно — выглядит как профессиональное премиум-приложение.
  • Готовые компоненты — кнопки, поля ввода, слайдеры, прогресс-бары, чекбоксы, радио-кнопки, выпадающие списки, текстовые поля, изображения.
  • Диалоговые окна — информационные, предупреждения, ошибки, вопросы, ввод текста.
  • Управление окном — изменение размера, заголовка, сворачивание, разворачивание.
  • Файловые диалоги — выбор файлов, папок, сохранение.
  • Живое обновление — динамическое управление интерфейсом в реальном времени.
  • Чистый Python — вся логика пишется только на Python, без использования HTML/CSS.

🧩 Компоненты

Метод Описание
add_label(text) Текстовая метка
add_button(text, action) Стильная стандартная кнопка
add_danger_button(text, action) Кнопка для опасных/акцентных действий
add_input(placeholder, input_id) Поле ввода текста
add_progress(percentage, progress_id) Прогресс-бар (шкала загрузки)
add_slider(min, max, default, slider_id, action) Ползунок для выбора значений
add_checkbox(text, checked, action) Флажок (чекбокс)
add_radio(group, text, checked, action) Радио-кнопка
add_dropdown(options, default, action) Выпадающий список
add_text_area(placeholder, rows, input_id) Многострочное поле ввода
add_image(path, url, base64_data, width, height) Изображение
add_spacer(height) Отступ между элементами

Диалоговые окна

Метод Описание
show_message(title, message) Информационное окно
show_warning(title, message) Окно предупреждения
show_error(title, message) Окно ошибки
ask_yes_no(title, message) Диалог "Да/Нет" (возвращает bool)
ask_ok_cancel(title, message) Диалог "OK/Отмена" (возвращает bool)
ask_input(title, message) Диалог с полем ввода (возвращает строку)

Управление окном

Метод Описание
set_window_size(width, height) Изменить размер окна
set_window_title(title) Изменить заголовок окна
minimize_window() Свернуть окно
maximize_window() Развернуть окно
restore_window() Восстановить окно
close_window() Закрыть окно

Файловые диалоги

Метод Описание
open_file_dialog(title, file_types) Выбор файла (возвращает путь)
save_file_dialog(title, file_types) Сохранение файла (возвращает путь)
select_folder_dialog(title) Выбор папки (возвращает путь)

⚙️ Управление в реальном времени

# Обновить прогресс-бар
app.set_progress("my_progress", 75)

# Получить значение из поля ввода
value = app.get_input_value("my_input")

# Получить состояние чекбокса
checked = app.get_checkbox_value("my_checkbox")

# Получить значение из многострочного поля
text = app.get_textarea_value("my_textarea")

# Получить выбранное значение из выпадающего списка
selected = app.get_dropdown_value("my_dropdown")

💡 Пример использования

import mini_style
import time

app = mini_style.App(title="Система Оптимизации", width=450, height=600)

def on_checkbox(checked):
    print(f"Чекбокс: {checked}")

def on_radio(value):
    print(f"Выбрана радио-кнопка: {value}")

def on_dropdown(value):
    print(f"Выбрано: {value}")

def on_start():
    name = app.get_input_value("username_field")
    print(f"Запуск для пользователя: {name}")
    for percent in range(0, 101, 20):
        app.set_progress("bar_clean", percent)
        time.sleep(0.15)

app.add_label("Новые компоненты v1.1.0:")

app.add_label("Чекбокс:")
app.add_checkbox("Согласен с условиями", action=on_checkbox)

app.add_label("Радио-кнопки:")
app.add_radio("theme", "Тёмная", checked=True, action=on_radio)
app.add_radio("theme", "Светлая", action=on_radio)

app.add_label("Выпадающий список:")
app.add_dropdown(["Python", "JavaScript", "C++"], default=0, action=on_dropdown)

app.add_label("Многострочное поле:")
app.add_text_area(placeholder="Введите описание...", rows=3)

app.add_label("Изображение:")
app.add_image(url="https://via.placeholder.com/200x100/1f2833/66fcf1?text=Mini-Style", width=200)

app.add_spacer(height=20)

app.add_label("Старые компоненты:")

app.add_label("Введите ваше имя:")
app.add_input(placeholder="Имя...", input_id="username_field")

app.add_label("Прогресс выполнения:")
app.add_progress(percentage=0, progress_id="bar_clean")

app.add_button("Запустить оптимизацию", action=on_start)
app.add_danger_button("Сбросить", action=lambda: print("Сброшено!"))

app.run()

🤝 Поддержка

Если вам понравился проект, поддержите автора:

  • ⭐ Поставьте звезду на GitHub
  • 🔔 Подпишитесь на обновления профиля
  • 💼 Приобретите коммерческую лицензию для своих бизнес-проектов

© 2026 Скворцов Сергей Александрович · ser.skvortsov.386@gmail.com

Release files for mini-style 1.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mini-style 1.2.0
File Size Uploaded
mini_style-1.2.0.tar.gz 12.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mini-style 1.2.0
File Interpreter ABI Platform
mini_style-1.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 24.1 kB

Release files / mini_style-1.2.0.tar.gz

Download URL mini_style-1.2.0.tar.gz
Size 12.9 kB
Tags Source
SHA-256 checksum
How to use checksums
39d8d51ac3b279370b4e1c4d00a9d39b1a9596904cbde3c9bc92193d8cea211a
BLAKE2b-256 checksum
How to use checksums
547535111e9eaa8997faa673502d83f77d64b9ad3ae3a2b4a5020c1f6cf47ccb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.0

Release files / mini_style-1.2.0-py3-none-any.whl

Download URL mini_style-1.2.0-py3-none-any.whl
Size 11.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
238ae583e89af673aa61644cef1d67bb36ff17bcb0ea8eb6948ee335e4606c6a
BLAKE2b-256 checksum
How to use checksums
36745af3295300811db67f8e663a082c438ebef95d3dc3e79ee5c2a79c6192cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.0

Release history Release notifications | RSS feed

1.2.1

2 release files

This release

1.2.0 This release

2 release files

1.1.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page