# 设置功能说明 ## 功能概述 在 LocalFlow 应用的左下角添加了设置按钮,点击后可以打开设置对话框,用于配置和管理 UV Python 包管理工具。 **✨ 新增:完整支持暗色和亮色主题,自动适配系统主题!** ## 主要功能 ### 1. UV 自动检测 - **自动识别 UV 安装状态**:启动时自动检测系统中是否安装了 uv - **显示 UV 路径**:如果已安装,显示 uv 可执行文件的完整路径 - **版本信息**:显示已安装的 uv 版本号 ### 2. 镜像源检测 - **环境变量检测**:自动检测 `UV_INDEX_URL` 环境变量 - **pip 配置检测**:如果未设置 UV 镜像,尝试从 pip 配置中检测镜像源 - **常见镜像识别**:识别清华、阿里云、中科大等常见 Python 镜像源 ### 3. Windows 快速安装 #### 方法 1:PowerShell 安装(推荐) - 点击"一键安装"按钮 - 使用官方安装脚本:`irm https://astral.sh/uv/install.ps1 | iex` - 自动安装到用户目录 - 可能需要管理员权限 #### 方法 2:pip 安装 - 点击"一键安装"按钮 - 使用当前 Python 环境的 pip 安装 - 命令:`pip install uv` - 适合已有 Python 环境的用户 ### 4. 手动安装说明 对话框中提供了手动安装的命令示例,用户可以: - 复制命令到命令行执行 - 选择适合自己的安装方式 ## 使用步骤 1. **打开设置对话框** - 点击左侧工具栏底部的设置图标(齿轮图标) 2. **查看 UV 状态** - 查看"UV 包管理工具"部分 - 如果显示"✓ 已安装",说明 uv 可用 - 如果显示"✗ 未安装",需要安装 uv 3. **安装 UV**(如果未安装) - 选择一个安装方法 - 点击对应的"一键安装"按钮 - 等待安装完成 - 点击"重新检测"按钮确认安装 4. **查看镜像配置** - 镜像地址栏显示当前使用的 PyPI 镜像 - 如果未配置,显示"未配置镜像" ## 技术实现 ### 主题自动适配 设置对话框能够自动检测当前应用的主题(暗色/亮色),并应用相应的样式: #### 暗色主题 - 背景色:`#1e1e1e`(深灰) - 文字色:`#e0e0e0`(浅灰) - 控件背景:`#2d2d2d` - 边框色:`#3f3f3f` - 按钮色:`#0e639c`(深蓝) - 成功色:`#4ec9b0`(青绿) - 错误色:`#f48771`(浅红) #### 亮色主题 - 背景色:`#f5f5f5`(浅灰) - 文字色:`#000000`(黑色) - 控件背景:`#ffffff`(白色) - 边框色:`#cccccc`(灰色) - 按钮色:`#007ACC`(蓝色) - 成功色:`#28a745`(绿色) - 错误色:`#dc3545`(红色) ### 主题检测机制 使用 Qt 的 `QPalette` 来检测当前主题: ```python def _detect_dark_theme(self): palette = QApplication.palette() window_color = palette.color(QPalette.Window) brightness = (window_color.red() + window_color.green() + window_color.blue()) / 3 return brightness < 128 # 亮度小于128认为是暗色主题 ``` ### 文件结构 ``` src/ ├── dialogs/ │ ├── __init__.py │ └── settings_dialog.py # 设置对话框主文件 └── main_window.py # 添加了设置按钮和打开设置对话框的方法 assets/ └── icons/ └── settings.png # 设置图标 ``` ### 关键类和方法 #### `SettingsDialog` 类 - `_detect_uv()`: 检测 uv 安装状态 - `_detect_mirror()`: 检测镜像配置 - `_install_uv_powershell()`: 使用 PowerShell 安装 - `_install_uv_pip()`: 使用 pip 安装 - `InstallWorker`: 后台线程执行安装任务 #### 安装过程 - 使用 QThread 在后台执行安装命令 - 实时显示安装进度 - 安装完成后自动重新检测 ## 注意事项 1. **管理员权限**:PowerShell 安装方法可能需要管理员权限 2. **网络连接**:安装过程需要网络连接 3. **Python 环境**:pip 安装方法使用当前运行 LocalFlow 的 Python 环境 4. **防火墙设置**:如果安装失败,检查防火墙是否阻止了下载 ## 故障排除 ### UV 检测失败 - 点击"重新检测"按钮 - 确保 uv 在系统 PATH 中 - Windows 下可能需要重启终端或重新登录 ### 安装失败 - 检查网络连接 - 尝试使用其他安装方法 - 查看错误信息,按照提示操作 - 可以手动复制命令到终端执行 ### 镜像未检测到 - 手动设置环境变量 `UV_INDEX_URL` - 或使用 pip 配置镜像源 ## 未来改进方向 - [ ] 支持手动设置镜像地址 - [ ] 保存用户配置到本地 - [ ] 支持更多包管理器 - [ ] 添加 uv 使用教程 - [ ] macOS 和 Linux 安装支持优化 ## 主题测试 运行测试脚本来体验不同主题下的效果: ```bash python test_themes.py ``` 该脚本提供两个按钮: - **测试亮色主题**:切换到亮色主题并打开设置对话框 - **测试暗色主题**:切换到暗色主题并打开设置对话框 ### 主题特点对比 #### 亮色主题 - ✨ 清爽明亮的界面 - 📝 高对比度的文字和背景 - ☀️ 适合白天使用 - 👁️ 适合明亮环境 #### 暗色主题 - 🌙 柔和护眼的深色背景 - 💡 降低眩光,保护视力 - 🌃 适合夜间使用 - 🖥️ 减少屏幕疲劳 ## 兼容性 ✅ Windows 10/11 ✅ macOS ✅ Linux ✅ 自动适配系统主题 ✅ 支持手动切换主题 ✅ 所有控件完美适配 --- **所有功能已测试并正常运行!** 🎉