这次更新是一次功能上的重大飞跃,主要集中在循环项目、壁纸选择器、鼠标穿透和UI/UX 增强这几个方面。
新版本下载:新版本
旧版本下载:旧版本
开源地址:GitCode
一、 核心功能新增与改进
- 循环项目
旧版 (2.8.2):项目只有“普通”模式,基于一个固定的目标日期进行倒计时。
新版:新增了“循环”项目类型。用户可以设定项目在每周的特定星期几重复,并可设置可选的结束日期。倒计时会自动计算并显示下一个符合条件的触发时刻。这非常适合用于每周例会、每日打卡等周期性任务。
- 壁纸选择器
旧版 (2.8.2):仅支持使用单张图片或动态壁纸作为背景。
新版:新增了完整的“壁纸选择器”模块。用户可以:
管理一个图片列表(添加、删除、排序)。
设置轮播模式(顺序、随机、循环)、切换间隔和填充方式(拉伸、适应、居中、平铺)。
支持淡入淡出切换效果。
将轮播壁纸直接应用到悬浮窗背景或系统桌面壁纸(跨平台支持 Windows/macOS/Linux)。
支持双屏扩展,可分别为主屏和副屏指定壁纸。
- 鼠标穿透模式
旧版 (2.8.2):悬浮窗会拦截所有鼠标事件,阻碍与下方窗口的交互。
新版:新增“鼠标穿透”模式。开启后,悬浮窗将不再接收任何鼠标事件,所有点击操作都会直接穿透到下层窗口。这个功能在需要将倒计时作为纯桌面装饰,同时又不想影响正常操作时非常实用。该状态会随项目保存。
配置备份与还原
新版 :在设置界面增加了“备份配置”和“还原配置”按钮。用户可以一键将当前所有配置(项目、布局、壁纸列表等)保存到 data/backups/ 目录,并随时从备份文件恢复,方便迁移和版本回滚。启动欢迎窗口
新版 :在首次启动(launch_count == 1)时会显示一个欢迎窗口,帮助新用户快速了解应用的核心功能、切换语言并获取帮助指引。打包前可通过调试控制台的 reset_welcome 命令重置该状态,确保打包后的版本能正常显示欢迎页。
二、 UI/UX 与交互增强
- 外观编辑器升级
布局更紧凑:元素列表、预览画布和属性面板的布局经过重新设计,操作效率更高。
属性控件优化:字体大小、透明度、位置等参数现在都配有滑块和数字输入框联动,调节更直观。
手动尺寸控制:取消了元素的“自动宽度”后,可以分别手动调整宽度和高度;对于自定义图片元素,调整时还会自动锁定原始宽高比。
键盘快捷键支持:选中元素后,可以使用键盘的方向键(配合 Shift 加速)来微调元素尺寸,精度控制更方便。
拖拽排序:左侧元素列表支持直接拖拽调整层级顺序。
脏标记与取消确认:编辑未保存时,取消按钮会显示为“放弃更改 (*)”,关闭窗口时也会弹出确认对话框,防止误操作丢失修改。
- 项目管理界面改进
项目列表现在使用带编号和状态图标(📅 普通 / 🔁 循环)的格式展示,置顶项目还会显示 📌 标记,一目了然。
添加项目时,会弹出对话框让用户选择项目类型(普通 / 循环)。
- 全局设置重构
设置对话框改为无边框 + 半透明毛玻璃效果,与主窗口视觉风格统一,并支持拖拽移动。
全局设置页面采用 QGridLayout,布局更整齐。
新增渲染后端选择功能,用户可以根据硬件情况在 auto、software、opengl、vulkan、d3d11、d3d12、metal 之间切换。
新增数字翻转动画开关,允许用户关闭倒计时数字的翻转动效,降低动画开销。
移除了全局“诗词级别”下拉框(改为在每个项目的诗语轻扬元素中单独配置),并在原位置显示迁移提示卡片。
版本信息区域增加了“备份/还原”卡片和“项目主页”按钮,替代了失效的更新检查功能。
新的窗口打开/切换动画
设置窗口打开时有缩放 + 淡入动画;切换 Tab 时有水平滑动效果,交互反馈更流畅。调试控制台增强 - djs_pyqt6.py
增加了 welcome 和 reset_welcome 命令,可手动打开或重置欢迎窗口状态。
help 命令内容已同步更新,包含所有新增命令和功能介绍。
三、 后端逻辑与性能优化
动态壁纸性能自动降级 - DynamicWallpaperWidget - djs_pyqt6.py
新版增加了 _frame_costs 记录每帧耗时,当连续多帧的平均开销超过预算时,会自动降低画质或帧率(高→中→低,60→30),避免界面卡顿。插件系统增强
版本标识:插件系统现在有独立的版本号(Plugin.PLUGIN_SYSTEM_VERSION = “0.11”),并在插件管理界面显示。
更完善的错误收集:PluginManager 新增 load_errors 和 register_errors 列表,记录加载失败和 API 注册冲突的详细信息。
API 增强:
register_dynamic_bg 新增 border_radius 参数,插件注册动态背景时可直接指定圆角;配套的 update_dynamic_bg_radius 方法允许运行时更新圆角值。
register_settings_panel、register_widget、register_settings_widget 增加了重复 ID 检查和类型校验,注册失败时会通过 report_register_error 统一记录。
资源限制与自动禁用:新增 plugin_resource_limit 机制,当单个插件的事件处理耗时超过 2 秒时记录一次“超限违规”,累计 3 次后自动禁用该插件,防止失控插件拖垮整体性能。
UI 调整:插件管理右侧改为 QTabWidget(插件详情/日志/插件面板三标签),结构更清晰;“权限”按钮颜色改为金色,视觉上更突出其重要性。
- 配置系统升级
配置版本迁移:新版配置文件增加了 config_version: 3 字段,并在加载时自动将旧版配置中的 poem_level 迁移到每个项目 custom_layout 的 poem.levels 数组中,保证向后兼容。
持久化新增字段:launch_count、first_run_done、enable_flip_animation、editor_splitter(编辑器分割条状态)等新属性均已纳入配置保存。
渲染后端支持
新版在启动时根据配置文件的 render_backend 字段设置 QSG_RHI_BACKEND 环境变量,允许用户强制指定 Qt 的渲染后端,对某些显卡驱动有问题的场景有很大帮助。代码健壮性提升
debug_print 函数增加了异常捕获,避免在 stderr 不可写时崩溃。
日志模块增加了日志轮转功能,当 LOG.txt 超过 1MB 时自动轮转(保留 LOG.1.txt / LOG.2.txt)。
CountdownWindow 的 refresh 方法现在会在主题切换时调用 _update_default_colors_for_theme,智能更新文字颜色和背景色以适配深色/浅色模式。
各处 QMessageBox 调用增加了父窗口参数,避免模态对话框位置偏移。