Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

=====================================
         Desktop Clock 桌面时钟
=====================================

一个功能丰富的桌面时钟应用,支持双时区显示、农历日历、天气信息和插件系统。

功能特性
========

1. 双时区显示
   - 支持选择不同时区进行对比
   - 显示当前时间和日期
   - 显示农历日期和节气

2. 模拟钟表
   - 实时显示当前主时间
   - 精美的钟表表盘设计

3. 天气信息
   - 自动获取对应城市天气
   - 显示天气图标和温度

4. 界面功能
   - 可调节窗口透明度
   - 支持精简模式和完整模式切换
   - 支持窗口拖动
   - 置顶显示

5. 插件系统
   - 支持第三方插件扩展
   - 动态加载插件
   - 插件管理界面
   - 支持时间和天气事件通知

6. 界面设计
   - 天蓝色标题栏
   - 简洁美观的界面布局

运行要求
========

- Python 3.x
- 需要安装的依赖库:
  - requests
  - lunar_python

安装依赖
========

使用虚拟环境运行:
   venv\Scripts\pip install requests lunar_python

或使用全局Python安装:
   pip install requests lunar_python

运行方式
========

使用虚拟环境:
   venv\Scripts\python.exe desktop_clock.py

或直接运行:
   python desktop_clock.py

使用说明
========

1. 拖动窗口:点击并拖动标题栏可以移动窗口位置

2. 切换时区:在下拉菜单中选择想要显示的时区

3. 切换模式:点击"精简模式"/"完整模式"按钮切换显示模式

4. 调节透明度:拖动底部滑块调整窗口透明度

5. 关闭窗口:点击右上角的关闭按钮

6. 插件管理:点击"插件"按钮查看已加载的插件

插件系统
========

插件目录结构:
   plugins/
   ├── plugin_base.py        # 插件基类
   ├── plugin_manager.py     # 插件管理器
   └── example_plugins/      # 示例插件目录

创建自定义插件:
1. 在 plugins/example_plugins/ 目录创建新的 .py 文件
2. 继承 Plugin 基类
3. 实现需要的方法(initialize, on_time_update, on_weather_update 等)

示例插件代码:
from plugins.plugin_base import Plugin

class MyPlugin(Plugin):
    def __init__(self):
        self.name = "My Plugin"
        self.version = "1.0.0"
        self.description = "我的自定义插件"
    
    def on_time_update(self, current_time):
        # 时间更新时触发
        pass
    
    def on_weather_update(self, weather_data):
        # 天气更新时触发
        pass

文件结构
========

├── desktop_clock.py        # 主程序文件
├── plugins/                # 插件目录
│   ├── plugin_base.py      # 插件基类
│   ├── plugin_manager.py   # 插件管理器
│   └── example_plugins/    # 示例插件
│       ├── world_clock_plugin.py
│       └── weather_plugin.py
├── venv/                   # Python虚拟环境
└── README.txt              # 说明文档

技术栈
======

- Python 3.x
- Tkinter (GUI框架)
- requests (天气API请求)
- lunar_python (农历计算)
- zoneinfo (时区处理)

天气数据源
==========

天气信息来自 wttr.in 免费天气API服务。

注意事项
========

1. 需要网络连接才能获取天气信息
2. 默认显示亚洲/上海时区和UTC时区
3. 程序启动后会自动置顶显示
4. 插件会在程序启动时自动加载

版本
====

v1.1.0 - 添加插件系统

作者
====

hellojint

=====================================

About

一个功能丰富的桌面时钟应用,支持双时区显示、农历日历、天气信息等功能。

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages