Училищен Звънец v2.5/БЕТА/
Училищен Звънец е автоматизирана система за училищен звънец, разработена на Python. Приложението предоставя удобен графичен потребителски интерфейс (GUI) за управление и възпроизвеждане на планирани аудио известия, съобразени с учебния график. То позволява лесно конфигуриране на часовете за звънене и използването на персонализирани звуци.
Функционалности
- Графичен потребителски интерфейс (GUI): Интуитивен интерфейс, изграден с
customtkinter, който осигурява лесно управление на приложението. - Персонализиран график: Дефинирайте часовете за звънене чрез файла
schedule.csv. Приложението автоматично презарежда графика, ако засече външна промяна във файла. - Аудио възпроизвеждане: Възпроизвежда MP3, WAV или OGG файлове за сигнали на звънеца, използвайки
pygame.mixer. Поддържа регулиране на силата на звука. - Ръчно звънене: Възможност за ръчно задействане на звънец по всяко време.
- Редактор на график: Вграден GUI за лесно добавяне, редактиране и изтриване на записи в графика за звънене.
- Визуализация на днешния график: Показва предстоящите звънци за текущия ден директно в интерфейса.
- Цифров часовник: Вграден цифров часовник, който показва текущото време.
- Гъвкава конфигурация: Основните настройки на приложението се управляват от
config.py. - Многоезична поддръжка: Интерфейсът и съобщенията са на български език.
Инсталация
За да стартирате приложението, трябва да имате инсталиран Python (препоръчително 3.7+).
- Клонирайте хранилището:
git clone https://github.com/Krumqnkata/School-Bell.git cd School-Bell - Инсталирайте зависимости:
Приложението разчита на няколко Python библиотеки. Инсталирайте ги с pip:
(Препоръчително е да използвате виртуална среда за инсталиране на зависимостите.)
pip install customtkinter pygame
Използване
-
Подгответе звуковите файлове: Поставете вашите MP3, WAV или OGG звукови файлове (напр.
begin.mp3,end.mp3) в директориятаsongs/(дефинирана катоRESOURCES_DIRвconfig.py). -
Конфигурирайте графика за звънене: Редактирайте файла
schedule.csv. Всеки ред трябва да представлява едно събитие на звънеца. Примерeн формат наschedule.csv:Понеделник,08:00,begin Понеделник,08:45,end Вторник,08:00,begin # ... и така нататък
- Ден от седмицата: Използвайте пълното име на деня на български (напр. "Понеделник", "Вторник").
- Час: Формат ЧЧ:ММ (напр. 08:00).
- Звуков файл: Името на звуковия файл без разширението (напр. "begin" за
begin.mp3). Ако оставите празно, ще се възпроизведе случаен звук от директориятаsongs/.
Можете също да използвате вградения "Редактор на график" от менюто на приложението за по-лесно управление.
-
Стартирайте приложението:
python app.py
Това ще стартира главния прозорец на приложението. Натиснете бутона "СТАРТ", за да активирате автоматичното звънене.
Конфигурация
Файлът config.py съдържа основните настройки на приложението, които можете да промените:
APP_NAME: Името на приложението, показано в заглавната лента.WIDTH,HEIGHT: Първоначалните размери на прозореца на приложението.RESOURCES_DIR: Директорията, където се съхраняват звуковите файлове (по подразбиранеsongs).SCHEDULE_FILE: Името на файла, съдържащ графика за звънене (по подразбиранеschedule.csv).
Структура на проекта
.
├── about_dialog.py # Диалогов прозорец "За мен"
├── app.py # Дефиниция на основния клас SchoolBellApp и GUI
├── audio_handler.py # Функции за управление и възпроизвеждане на аудио
├── config.py # Конфигурационни константи на приложението
├── main.py # Входна точка на приложението (стартира SchoolBellApp)
├── manual_handler.py # Логика за ръчно задействане на звънец
├── schedule_editor.py # Прозорец за редактиране на графика за звънене
├── schedule.csv # Файл с графика за звънене (формат CSV)
├── scheduler.py # Основна логика за планиране и задействане на събития
├── ui_components.py # Помощни функции за изграждане на елементи на потребителския интерфейс
├── utils.py # Общи помощни функции (напр. зареждане/запис на график, логване)
├── visual_notification.py # Функции за визуални известия (ако има таким)
├── songs/ # Директория за звукови файлове на звънеца
│ ├── begin.mp3 # Примерен звук за начало на час
│ └── end.mp3 # Примерен звук за край на час
└── ... други системни файлове (.git, .idea, __pycache__, dist)
Лиценз
Този проект е лицензиран съгласно условията, посочени във файла LICENSE.