📜  9 分钟计时器 (1)

📅  最后修改于: 2023-12-03 14:59:06.904000             🧑  作者: Mango

9分钟计时器

简介

9分钟计时器是一个小工具,可以帮助用户倒计时9分钟。它可以用于和朋友交换工作时间、锻炼时间、休息时间等等。

功能
  • 倒计时9分钟
  • 提供开始、暂停、重置功能
使用说明
安装

该计时器是由Python编写的,因此需要在计算机上安装Python。

  1. 首先前往Python官网下载并安装Python:https://www.python.org/downloads/
  2. 打开命令行,输入以下命令安装所需依赖:
pip install playsound      # 播放铃声
pip install pyqt5          # GUI界面
运行
  1. 下载并打开源码文件:https://github.com/YXCui/9-min-timer
  2. 运行 main.py 文件:
python main.py
  1. 在打开的窗口中,点击“开始”按钮开始计时,点击“暂停”按钮暂停计时,点击“重置”按钮重置计时器。
代码实现

该计时器的核心是一个线程,它会在后台倒计时。用户界面则是使用PyQt5实现的。

以下是关键代码:

import time
from PyQt5.QtCore import QThread, pyqtSignal

class TimerThread(QThread):

    progress_update = pyqtSignal(int)

    def __init__(self, parent=None):
        super().__init__(parent)
        self.current_progress = 0
        self.pause = False

    def run(self):
        while self.current_progress <= 540 and not self.pause:
            time.sleep(1)
            self.current_progress += 1
            self.progress_update.emit(self.current_progress)

class MainWindow(QtWidgets.QMainWindow):

    def __init__(self):
        super().__init__()

        self.thread = TimerThread(self)
        self.thread.progress_update.connect(self.update_progress_bar)

        # ... GUI界面初始化 ...

    def start_timer(self):
        self.thread.start()

    def pause_timer(self):
        self.thread.pause = True

    def reset_timer(self):
        self.thread.pause = True
        self.thread.current_progress = 0
        self.progress_bar.setValue(0)

    def update_progress_bar(self, value):
        self.progress_bar.setValue(value)
        if value == 540:  # 9分钟,播放音乐
            play_music()
运行效果截图

image