Skip to content

Latest commit

 

History

57 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SMT2 - 系统监控与待办事项管理工具

Python License

SMT2 是一个基于 Python 和 PySide6 开发的轻量级桌面应用程序,集成了系统监控和待办事项管理功能。该应用以系统托盘形式运行,占用资源极少,同时提供主题系统支持多种视觉风格。

目录

功能特性

1. 时间进度监控

  • 实时显示当前时间
  • 日进度:当天已过去的时间百分比
  • 周进度 / 月进度 / 年进度

2. 系统性能监控

  • CPU 使用率、内存使用率、C盘存储占用、电池电量
  • 右键托盘菜单切换时间进度 / 性能监控模式

3. 待办事项管理

  • 添加、编辑和删除待办事项
  • 标记已完成的事项
  • 自动提取任务标签,支持标签筛选
  • 支持拖拽排序
  • 完成或空白项自动销毁动画
  • 首个待办事项同步显示到主面板底部
  • 截止时间管理:右键事项配置截止时间、提前提醒、重复周期
  • 过期标记:已过截止时间的事项自动显示删除线样式
  • 到期提醒:截止时间前 N 分钟弹出右下角通知

4. 主题系统

SMT2 内置完整的主题系统,支持:

  • 多套内置主题自由切换
  • 用户自定义主题(工具箱 → 设置中可视化编辑所有颜色令牌)
  • 主题选择持久化(重启后自动恢复)
  • 每个主题可独立控制面板尺寸、圆角、字体大小等布局参数
  • 策略模式:每个主题可自定义绘制逻辑,实现完全不同风格的布局

详细说明见下方 主题系统 章节。

5. 用户界面特点

  • 半透明毛玻璃效果
  • 支持拖拽移动窗口,屏幕边缘自动吸附嵌入
  • 中键轮换面板模式(normal / compact / mini)
  • 右键展开待办面板,双击关闭应用
  • 系统托盘图标,支持窗口置顶
  • 右下角通知弹窗:待办提醒、操作反馈以无干扰的右下角滑入通知展示

6. 工具箱

  • 集成 Excel 转 Word 工具,支持模板化转换
  • 设置面板:主题配置、颜色自定义、开机自启、标签提取规则等

主题系统

内置主题

主题 特点
Classical 经典 深色半透明、4 圆环布局(250×90),传统风格
Modern 现代 黑白灰极简、大字靠左时间 + 单日进度环 + 待办嵌入(180×90)

切换主题

  • 托盘图标右键 → 「切换主题」子菜单
  • 工具箱 → 设置 → 主题设置下拉框

自定义主题

在设置面板中:

  1. 点击「+ 新建自定义主题」
  2. 选择名称和布局基础(Classical 或 Modern 布局)
  3. 自由调整所有颜色令牌(点击色块打开取色器,α 滑块调节透明度)
  4. 保存后自动应用,立即生效

自定义主题持久化保存在 resources/custom_themes.json

架构说明

src/themes/
├── __init__.py           # ThemeManager 单例 + 全局便利函数
├── base_theme.py         # ThemeDefinition 抽象基类 + paint_panel 策略方法
├── classical_theme.py    # 经典主题实现
└── modern_theme.py       # 现代主题实现
  • ThemeDefinition 定义了 get_color()paint_panel() 等接口
  • CustomTheme 支持基于任意内置主题的布局,仅覆盖颜色
  • 新增主题只需新建一个类注册到 _BUILTIN_THEMES 字典
  • QSS/DWM 统一:工具箱窗口的 QSS 样式切换和 Windows DWM 深色模式已集成到 ThemeManager 中,切换主题时自动同步

面板模式

主面板支持三种尺寸模式(鼠标中键轮换):

模式 经典尺寸 现代尺寸 显示内容
normal 250×90 180×90 完整信息
compact 180×70 190×66 精简圆环
mini 120×40 120×40 仅时间

使用方法

  1. 运行应用后,在桌面显示悬浮面板,系统托盘出现图标
  2. 界面操作:
    • 左键拖拽顶部区域移动窗口
    • 右键唤出待办事项面板
    • 中键轮换面板紧凑模式
    • 双击顶部区域关闭应用
    • 右键托盘图标 → 切换性能监控/时间进度模式、切换主题、打开工具箱
  3. 待办面板:
    • 双击空白区域新建事项
    • 编辑后回车确认
    • 勾选复选框标记完成(自动收缩销毁动画)
    • 拖动 标识调整顺序
  4. 设置:托盘右键 → 工具箱 → 设置

技术栈

  • Python 3.12
  • PySide6 (Qt for Python)
  • psutil (系统信息获取)
  • jieba (中文标签提取)
  • Nuitka (打包工具)

项目结构

src/
├── configs/              # 配置读取(properties.json + 默认值)
├── themes/               # ★ 主题系统(ThemeManager、内置主题)
├── tray/                 # 系统托盘图标
├── utils/                # 工具类(性能监控、自启管理、标签提取)
└── views/
    ├── main_views/       # 主界面组件
    │   ├── main_widget.py       # 主窗口(控制器 + 吸附逻辑)
    │   ├── performance_panel.py # 性能/时间面板(委托绘制)
    │   └── todo_panel.py        # 待办事项面板
    └── toolbox_views/    # 工具箱窗口
        ├── toolbox_window.py
        ├── setting_view.py      # 设置面板(含主题配置 UI)
        └── ...
resources/
├── properties.json       # 用户配置
├── default_properties.json
├── custom_themes.json    # ★ 用户自定义主题
└── themes/               # 主题 QSS 文件

打包

使用 Nuitka 将应用打包为独立的可执行文件:

python -m nuitka --onefile --windows-console-mode=disable --enable-plugin=pyside6 --follow-import-to=need --output-dir=output --windows-icon-from-ico=resources/tray.png --windows-uac-admin main.py

注意事项

  • 当前仅支持 Windows
  • 应用启动后自动置顶显示
  • 如需开机自启,在设置中勾选"开机自启"

隐私声明

本应用所有数据均存储在本地,不会上传任何用户数据到网络。待办事项、性能数据等个人信息完全保留在用户设备上。

贡献

欢迎贡献代码!请遵循以下步骤:

  1. Fork 本仓库。
  2. 创建一个新的分支:git checkout -b feature-branch
  3. 提交更改:git commit -m 'Add new feature'
  4. 推送到分支:git push origin feature-branch
  5. 创建一个 Pull Request。

许可证

本项目基于 MIT 许可证 开源。

About

一个集时间显示、系统性能监测和待办事项管理于一体的现代化桌面工具。简洁高效的设计,帮助您实时掌握时间、系统状态与日常任务,兼顾美观与实用性。

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages