Программное обеспечение обратного отсчета, таймера и будильника с очень специфическими функциями

Ищу следующие функции или помогаю создать их самостоятельно в как можно меньшем количестве отдельных программ.

ОС : Windows 10.
Android тоже было бы интересно, но строго по желанию, или, (нежелательно и в крайнем случае): как альтернатива.


Желаемые функции:

(не в порядке приоритета, это будет позже)

Главный:

  1. Будильник :
    • Несколько будильников
    • Функция повтора (ежедневно, еженедельно, будние дни, четверг и т. д.)
  2. Обратный отсчет : вы устанавливаете

      a) period (say 4hrs), or  
      b) deadline (clock time AND/OR date) <-- Can be an extension of the "Alarm" feature.
    

    ...и постоянно показывает, сколько дней, часов, минут, секунд осталось до 00:00:00

    • Несколько обратных отсчетов (я хочу, чтобы несколько обратных отсчетов работали одновременно)
  3. Таймеры/Секундомер : вы нажимаете кнопку, и он начинает отсчитывать прошедшее время.
    • Несколько таймеров работают одновременно

Другой:

  • ФУНКЦИИ СОХРАНЕНИЯ \ РЕГИСТРАЦИИ: Я хочу, чтобы приложение регистрировало:
    • Особенно таймеры (Будильник - это данность):
      • Время/дата начала: Когда я запустил таймер
      • Time timed: продолжительность до остановки таймера.
      • Имя: я хочу иметь возможность назвать свой таймер, особенно если у вас будет запущено несколько таймеров.
    • Если обратный отсчет должен занять крайний срок в следующую дату, очевидно, он должен сохранить указанную дату, чтобы обратный отсчет мог пережить перезагрузку ПК и / или приложения.
  • ВСЕГДА ВИДИМЫЙ СТАТУС ТАЙМЕРА:
    например, статус таймера постоянно отражается на КНОПКЕ ПАНЕЛИ ЗАДАЧ или (более раздражающее) минималистичном окне «всегда сверху» с прозрачностью.

Приоритет:

Я думаю, это фантастика получить все эти функции в одной программе, поэтому мои самые большие приоритеты, по порядку, таковы:

  • Обратный отсчет и таймер, «Всегда видно»
  • Несколько каждого одновременно
  • (Необходимо, но мне бы очень хотелось): Запишите хотя бы время запуска каждого активного таймера.

TL;DR : нет. Просто пропустите то, что ниже этой строки


ЗАМЕЧАНИЕ. У меня есть самые базовые знания Python , которые я приобрел за несколько дней, и их достаточно, чтобы создать сценарий, который поможет мне импортировать конкретную информацию из онлайн-словаря в электронную таблицу Excel. Так что, если это то, что я могу легко создать сам , я согласен с некоторыми указателями о том, как научиться этому (= ссылка на модули, которые мне понадобятся, и я выясню, как заставить их работать ).


В настоящее время я использую приложение Chrome под названием Timer Tab .

Плюсы:

  • Обратный отсчет, будильник и таймер/секундомер
  • Продолжает работать (подсчитывает), если браузер Chrome или даже само окно приложения закрыты
  • Состояние обратного отсчета/таймера отображается на панели задач

Минусы:

  • Может запускать только одну из трех функций одновременно
  • Удивительно, но в качестве звука для будильника можно указать только ссылку на онлайн-видео YouTube.
  • Ни одна из других функций, которые я упомянул
Вы пробовали System Scheduler Professional? У него нет функции обратного отсчета, но вы можете сделать это с помощью опции повтора. Имеет множество настроек. splinterware.com См. результаты вирустотал.

Ответы (1)

Я настоятельно рекомендую взглянуть на реализацию этого в Python с библиотекой wxPython для элементов графического интерфейса. wxPython — это привязка Python к библиотеке графического интерфейса C++, обе они бесплатные, бесплатные, с открытым исходным кодом и кросс-платформенные.

Обратите внимание, что если вы используете Python 2.7, вам нужны загрузки отсюда, но для Python 3.5 вам придется использовать установку Phoenix проекта wxPython .

Обязательно установите и опробуйте wxPython Docs & Demos, особенно демо — они покажут вам, что вы можете делать с библиотекой. Для python 2.7 это доступно на главной странице загрузки, но для python 3.x и phoenix вам нужно будет загрузить его с github .

Для вычисления дельты даты/времени и времени проверьте встроенные в python классы datetime.datetime и datetime.timedelta.

Я бы предложил хранить информацию о запуске/остановке/длительности либо в формате файла ini, либо в формате json, для обоих существуют встроенные библиотеки, но вы также можете рассмотреть возможность использования pickle для сохранения информации.