自学内容网 自学内容网

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(<

原文地址:https://blog.csdn.net/qq_32882309/article/details/142390089

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!