【开源工具】基于PyQt5工作时长计算器工具开发全解析

PyQt5实用小工具:工作时长计算器工具开发全解析

在这里插入图片描述
请添加图片描述

🌈 个人主页:创客白泽 - CSDN博客
🔥 系列专栏:🐍《Python开源项目实战》
💡 热爱不止于代码,热情源自每一个灵感闪现的夜晚。愿以开源之火,点亮前行之路。
👍 如果觉得这篇文章有帮助,欢迎您一键三连,分享给更多人哦

请添加图片描述
在这里插入图片描述


摘要:
在日常工作和项目管理中,准确计算工作时长是非常重要的。本文将深入讲解如何利用PyQt5开发一个简单易用的“工作时长计算器”桌面应用,涵盖设计思路、功能实现、UI布局、核心代码解析及打包细节。文中配有示例代码和界面截图,帮助读者快速掌握PyQt5实战技能。


目录


概述

随着远程办公和弹性工作制的兴起,个人及团队对于工作时长的准确统计需求日益增长。虽然市面上有众多复杂的考勤软件,但对于简单的时间计算需求,一个轻量级且界面友好的桌面应用更具实用性和便利性。

本文介绍的“工作时长计算器”基于Python的PyQt5库开发,体积小巧,界面简洁,支持用户输入上下班时间,一键计算出当天工作时长,并可将结果复制到剪贴板,方便粘贴到日报、考勤系统或聊天工具中。


功能介绍

  • 输入上下班时间(HH:MM格式)
  • 自动计算并显示工作时长,支持跨天工作时段
  • 复制工作时长到剪贴板,一键分享
  • 窗口置顶功能,方便随时查看和操作
  • 友好的错误提示,避免无效时间格式输入
  • 自定义窗口图标与样式美化,提升用户体验

界面展示

1. 主界面

在这里插入图片描述

图1:工作时长计算器主界面,简洁明了,支持键盘输入与按钮操作

2. 计算结果显示与复制反馈

在这里插入图片描述

图2:计算完成后显示时长,点击复制按钮弹出提示


软件使用步骤说明

  1. 启动程序:运行python work_time_calculator.py
  2. 输入上班时间:如08:30
  3. 输入下班时间:如17:45
  4. 点击“计算工作时长”按钮,显示工作时长,例如08:15
  5. 点击“复制时长”按钮,将结果复制到剪贴板,方便粘贴
  6. 勾选“窗口置顶”,保持程序界面在最前端
  7. 如输入格式错误,弹出错误提示框,请按提示修改时间格式

代码详解

窗口初始化与布局

class WorkTimeCalculator(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("工作时长计算器")
        self.setFixedSize(320, 380)
        # 设置窗口图标
        icon_path = self.resource_path("time.ico")
        self.setWindowIcon(QIcon(icon_path))
        # 窗口置顶属性
        self.setWindowFlags(self.windowFlags() | Qt.WindowStaysOnTopHint)
        self.duration_str = ""
        self.init_ui()
  • QWidget是PyQt中最基础的窗口类。
  • 固定窗口大小,保证UI布局一致性。
  • 使用自定义图标美化程序。
  • 通过Qt.WindowStaysOnTopHint保持窗口置顶。

UI组件布局采用QVBoxLayout垂直堆叠控件,样式使用QFontsetStyleSheet增强视觉体验。


工作时长计算核心逻辑

def calculate_time(self):
    start_text = self.input_start.text().strip()
    end_text = self.input_end.text().strip()

    try:
        start_time = datetime.strptime(start_text, "%H:%M")
        end_time = datetime.strptime(end_text, "%H:%M")

        if end_time < start_time:
            end_time = end_time.replace(day=start_time
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

创客白泽

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

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

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

打赏作者

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

抵扣说明:

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

余额充值