скрипт простого GUI будильника (как следить за временем на компьютере)

Эй, чуваки! Устали проваливать сроки и забывать о важных делах из-за своей жуткой зависимости от видеоигр? Не беспокойтесь, я сделал для вас нечто круто-крутое! Представляю вам мой простой GUI будильник, который поможет вам следить за временем на компьютере. Забудьте о днях напролет, проведенных в мире виртуальных приключений – этот скрипт станет вашим надежным напарником в борьбе с прокрастинацией. Теперь вы сможете распределять задачи и контролировать свое время как настоящий программист-профи. Больше никаких промахов и запаздываний, только дисциплина и продуктивность! Скачивайте мой будильник прямо сейчас и начните свой путь к успеху в реальном мире. Время – деньги, геймеры!

import tkinter as tk
from datetime import datetime, timedelta
'''
импортирует классы `datetime` и `timedelta`
из модуля `datetime`, чтобы работать с датой и временем.
'''
import time
'''
импортирует модуль `time` для работы с функциями времени.
'''
import threading
'''
импортирует модуль `threading` для многопоточности.
'''
from pygame import mixer
'''
импортирует модуль `mixer` из библиотеки `pygame` для воспроизведения звука.
'''
import re
'''
импортирует модуль `re` для работы с регулярными выражениями.
'''
def countdown(count):
    '''
    объявляет функцию с именем `countdown`,
    которая будет отсчитывать время.
    '''
    # Изменение текста в label
    label['text'] = str(timedelta(seconds=count))
    '''
    устанавливает текст в элементе интерфейса `label`
    в формате времени, используя значение `count` в секундах.
    '''
    
    if count > 0:
        '''
        проверяет, больше ли значение `count` нуля.
        '''
        # Вызываем функцию countdown каждую секунду
        root.after(1000, countdown, count-1)
        '''
        вызывает функцию `countdown` с аргументом `count-1`
        через 1000 миллисекунд (1 секунду), если `count` больше нуля.
        '''
    else:
        # Время вышло, играем музыку
        mixer.init()
        '''
        инициализирует модуль `mixer` для воспроизведения звука.
        '''
        mixer.music.load('1.mp3')
        '''
        загружает звуковой файл '1.mp3' для воспроизведения.
        '''
        mixer.music.play()
        '''
        запускает воспроизведение звука
        '''

def start_timer():
    '''
    это объявление функции с именем `start_timer`,
    которая будет запускать таймер.
    '''
    time_input = entry.get()
    '''
    сохраняет введенное пользователем время
    в переменную `time_input`.
    '''
    try:
        '''
        начало блока, в котором будут обрабатываться исключения.
        '''
        match = re.match(r'(\d+):(\d+)', time_input)
        '''
        использует регулярное выражение для поиска времени
        в формате "часы:минуты"
        во введенной пользователем строке.
        Результат будет сохранен в переменной `match`.
        '''
        if match:
            '''
            проверяет, успешно ли было найдено время в формате "часы:минуты".
            '''
            hours = int(match.group(1))
            '''
            извлекает часы из найденного времени
            и преобразует их в целое число,
            сохраняя результат в переменную `hours`.
            '''
            minutes = int(match.group(2))
            '''
            извлекает минуты из найденного времени и преобразует их
            в целое число, сохраняя результат в переменную `minutes`.
            '''
            seconds = hours * 3600 + minutes * 60
            '''
            вычисляет общее количество секунд
            на основе введенного времени в часах и минутах,
            сохраняя результат в переменную `seconds`.
            '''
            t = threading.Thread(target=countdown, args=(seconds,))
            '''
            создает новый поток `t`, который будет вызывать функцию `countdown` с аргументом `seconds`.
            '''
            t.start()
            '''
            запускает созданный поток `t`.
            '''
        else:
            label['text'] = 'Неправильный формат. Введите время в формате ЧЧ:ММ'
    except ValueError:
        label['text'] = 'Неправильный формат. Введите время в формате ЧЧ:ММ'

# Создаем основное окно
root = tk.Tk()
root.title('Будильник на Tkinter')

# Поле для ввода времени
entry = tk.Entry(root, justify='center')
entry.insert(0, '0:15')
entry.pack(pady=20)

# Кнопка запуска таймера
start_button = tk.Button(root, text='Старт', command=start_timer)
start_button.pack()

# Место для показа оставшегося времени
label = tk.Label(root, text='', font=('Helvetica', 48))
label.pack()

# Запускаем главный цикл
root.mainloop()
На главную YouTube Telegram Предыдущая страница Следующая страница