╔══════════════════════════════════╗
║ ⏱️ Timer ║
║ универсальный секундомер ║
╚══════════════════════════════════╝
🤖 Таймер, который просто считает время
Timer — десктопный секундомер на Python/tkinter. Сворачивается в трей, не мешает, сохраняет историю.
✨ Главный принцип: «Запустил и считает»
| Фича | Описание |
|---|---|
| ⏱️ Секундомер | Старт, пауза, сброс |
| 🔄 Сброс с отменой | Первое нажатие сохраняет время, второе — восстанавливает |
| 📊 Статистика | Сегодня / Неделя / Всего |
| 💾 Автосохранение | Сессии сохраняются в laps_data.json |
| 🖥️ Системный трей | Сворачивается в трей, управление через меню |
| ✏️ Ручной ввод | Двойной клик → 1h30m, 90m, 01:30:00 |
🚀 Флаг --minimized |
Старт сразу в трее |
| 📦 Готовый .exe | Один файл через PyInstaller |
| 🧪 Unit-тесты | Ключевая логика покрыта |
Timer.exe
Timer.exe --minimized| Действие | Как |
|---|---|
| Кнопка в окне или трей → Start/Pause | |
| 🔄 Сброс | Кнопка 🔄 (дважды для отмены) |
| ⏱️ Статистика | Кнопка ⏱️ (когда таймер стоит) |
| ✏️ Ввод времени | Двойной клик по таймеру |
| 📥 Свернуть в трей | Крестик ❌ |
| 🚪 Выход | Трей → Quit (автосохранение) |
setup_and_build.batpython -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
build_exe.batpython -m unittest discover -s tests├── stopwatch/ # исходники (MVC + трей + тема)
├── tests/ # unit-тесты
├── _timer.ico # иконка
├── build_exe.bat # быстрая сборка
├── setup_and_build.bat # сборка с нуля
├── requirements.txt
└── README.md
pystray>=0.19.0
Pillow>=10.0.0
pyinstaller>=6.0.0MIT © 2026 mageri9