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.1

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.1
File Size Uploaded
mini_style-1.2.1.tar.gz 13.9 kB Details

Built distribution (wheel)

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

Total release size: 25.7 kB

Release files / mini_style-1.2.1.tar.gz

Download URL mini_style-1.2.1.tar.gz
Size 13.9 kB
Tags Source
SHA-256 checksum
How to use checksums
6f5976ad94ec61c54aab528fd83068b82c8e1d3214329b8497adad8ddd8d07cf
BLAKE2b-256 checksum
How to use checksums
98ea00285957eb00412a7311aa7917d58ad04d1d779c0a8bfac0ce852f32ba51
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.1-py3-none-any.whl

Download URL mini_style-1.2.1-py3-none-any.whl
Size 11.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
20eabd343527d5fa17dc6e9051b613ab594c6cc2121bc967a8fdc0036c46ed50
BLAKE2b-256 checksum
How to use checksums
0af03b9f7fff1b65fb2f138958216ab74e00133fcda2c03d0add2d7066781a4f
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

This release

1.2.1 This release

2 release files

1.2.0

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