Python精选200Tips:161-165


运行系统:macOS Sequoia 15.0
Python编译器:PyCharm 2024.1.4 (Community Edition)
Python版本:3.12

往期链接:

1-5 6-10 11-20 21-30 31-40 41-50
51-60:函数 61-70:类 71-80:编程范式及设计模式
81-90:Python编码规范 91-100:Python自带常用模块-1
101-105:Python自带模块-2 106-110:Python自带模块-3
111-115:Python常用第三方包-频繁使用 116-120:Python常用第三方包-深度学习
121-125:Python常用第三方包-爬取数据 126-130:Python常用第三方包-为了乐趣
131-135:Python常用第三方包-拓展工具1 136-140:Python常用第三方包-拓展工具2

Python项目实战

141-145 146-150 151-155 156-160
P161–精确到毫秒的计时器
技术栈:tkinter的包使用的
import tkinter as tk
import time


class Stopwatch:
    def __init__(self, root):
        # 初始化窗口
        self.root = root
        self.root.title("毫秒秒表")
        self.running = False  # 标记秒表是否在运行
        self.start_time = 0  # 记录开始时间
        self.elapsed_time = 0  # 记录经过的时间

        # 创建显示时间的标签
        self.label = tk.Label(root, text="00:00:00.000", font=("Helvetica", 48))
        self.label.pack()

        # 创建控制按钮
        self.start_button = tk.Button(root, text="开始", command=self.start)
        self.start_button.pack(side="left")

        self.stop_button = tk.Button(root, text="停止", command=self.stop)
        self.stop_button.pack(side="left")

        self.reset_button = tk.Button(root, text="重置", command=self.reset)
        self.reset_button.pack(side="left")

        self.record_button = tk.Button(root, text="记录", command=self.record)
        self.record_button.pack(side="left")

        # 创建记录列表框
        self.records_listbox = tk.Listbox(root, width=30, height=10)
        self.records_listbox.pack()

        self.update_label()  # 更新标签显示

    def start(self):
        # 开始计时
        if not self.running:
            self.start_time = time.time() - self.elapsed_time / 1000.0  # 计算开始时间
            self.running = True  # 设置为运行状态
            self.update_label()  # 更新标签

    def stop(self):
        # 停止计时
        if self.running:
            self.elapsed_time = int((time.time() - self.start_time) * 1000)  # 计算经过的时间
            self.running = False  # 设置为非运行状态

    def reset(self):
        # 重置计时
        self.elapsed_time = 0  # 重置经过的时间
        self.update_label()  # 更新标签显示

    def record(self):
        # 记录当前时间
        if not self.running:
            self.records_listbox.insert(<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AnFany

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值