Mini-Style
Превращает скучные Python-скрипты в стильные приложения премиум-уровня.
👨💻 Автор
Скворцов Сергей Александрович
- GitHub: serskvortsov386
- Другие проекты: rusmenu
📋 Лицензия
Это программное обеспечение распространяется по лицензии 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)
| File | Size | Uploaded | |
|---|---|---|---|
| mini_style-1.2.0.tar.gz | 12.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|