# qtshut **Repository Path**: rustway/qtshut ## Basic Information - **Project Name**: qtshut - **Description**: 一个基于 Rust 和 Iced GUI 框架开发的智能定时关机工具,支持自然语言时间输入和系统托盘操作。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-09 - **Last Updated**: 2026-02-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # QtShut - 智能定时关机工具 一个基于 Rust 和 Iced GUI 框架开发的智能定时关机工具,支持自然语言时间输入和系统托盘操作。 ## 功能特性 > 本项目全部为ai生成,未手动编写,使用trae,纯玩学习开发。 > 用于家庭小朋友的思维训练,AI编程教学,学习Rust语言。 > 欢迎建议、批评、指正。 > 未完成,待续。 ### 🕐 智能时间解析 - **自然语言输入**:支持"30分钟后"、"2小时后"、"明天早上8点"等自然语言 - **中文数字识别**:支持"三十分钟"、"两小时"等中文数字表达 - **多种时间格式**:支持绝对时间和相对时间输入 ### 🖥️ 现代化界面 - **简洁美观**:基于 Iced 框架的现代化 GUI 界面 - **系统托盘**:最小化到系统托盘,不占用任务栏空间 - **实时倒计时**:显示剩余时间和进度条 ### ⚙️ 系统兼容性 - **Windows 版本适配**:自动检测 Windows 版本并选择最佳关机方式 - **权限管理**:智能处理管理员权限要求 - **安全可靠**:多重验证确保关机操作安全执行 ### 💾 数据持久化 - **任务保存**:关机任务自动保存,重启后可恢复 - **配置记忆**:用户设置和偏好自动保存 - **日志记录**:详细的操作日志便于问题排查 ## 快速开始 ### 运行程序 1. **直接运行**:双击 `qtshut.exe` 启动程序 2. **命令行运行**:在命令提示符中执行 `qtshut.exe` ### 使用方法 1. **设置关机时间**: - 在时间输入框中输入时间,例如: - `30分钟后` - `2小时后` - `明天早上8点` - `今晚11点` 2. **选择关机类型**: - 关机:完全关闭计算机 - 重启:重新启动计算机 - 注销:注销当前用户 3. **启动倒计时**:点击"开始"按钮启动定时任务 4. **系统托盘操作**: - 程序会最小化到系统托盘 - 右键托盘图标可以显示/隐藏窗口 - 托盘图标显示剩余时间 ## 技术架构 ### 核心模块 - **时间解析器** (`core/time_parser.rs`):自然语言时间解析 - **倒计时管理** (`core/countdown.rs`):倒计时逻辑和状态管理 - **关机执行器** (`core/shutdown.rs`):系统关机操作 - **系统兼容性** (`core/system_compat.rs`):Windows 版本检测 - **任务持久化** (`core/persistence.rs`):数据保存和恢复 ### 用户界面 - **主窗口** (`ui/components.rs`):主要的 GUI 界面 - **界面管理** (`ui/manager.rs`):界面状态和事件处理 - **系统托盘** (`ui/tray.rs`):托盘图标和菜单 ### 工具模块 - **日志系统** (`utils/logger.rs`):统一的日志管理 - **通知系统** (`utils/notification.rs`):系统通知 - **系统信息** (`utils/system.rs`):系统信息获取 ## 开发信息 ### 技术栈 - **语言**:Rust 2021 Edition - **GUI 框架**:Iced 0.12 - **异步运行时**:Tokio - **系统 API**:Windows API (winapi) - **序列化**:Serde - **日志**:log + env_logger ### 构建要求 - Rust 1.70+ - Windows 10/11 - Visual Studio Build Tools (用于 Windows API 绑定) ### 构建命令 ```bash # 开发构建 cargo build # 发布构建 cargo build --release # 运行测试 cargo test # 代码格式化 cargo fmt # 代码检查 cargo clippy ``` ## 许可证 本项目采用 MIT 许可证。详见 LICENSE 文件。 ## 贡献 欢迎提交 Issue 和 Pull Request! ## 更新日志 ### v1.0.0 - 初始版本发布 - 支持自然语言时间输入 - 实现系统托盘功能 - 添加任务持久化 - 完整的测试覆盖