ScreenLockDetector/docs/QUICKSTART.md

134 lines
3.5 KiB
Markdown
Raw Normal View History

2025-11-07 10:56:45 +08:00
# 快速入门指南
## 5分钟快速上手
### 第一步:编译项目
```bash
cd qt_screan_lock
./build.sh
```
### 第二步:运行应用
```bash
./run.sh
```
### 第三步:测试锁屏检测
1. 应用运行后,你会看到一个带有动态动画的窗口
2.`Ctrl + Alt + L``Super + L` 锁定屏幕
3. 观察动画是否停止
4. 解锁屏幕,动画应该自动恢复
2025-11-07 14:57:13 +08:00
### 第四步Deepin OS 用户特别测试
如果你使用的是 Deepin OS可以运行专门的测试脚本
```bash
./test_deepin.sh
```
这个脚本会自动检测 Deepin DDE 环境并提供详细的测试指导。
更多 Deepin OS 相关信息,请参考:[DEEPIN_SUPPORT.md](DEEPIN_SUPPORT.md)
2025-11-07 10:56:45 +08:00
## 预期效果
### 屏幕解锁时
- ✅ 窗口显示彩色动态动画
- ✅ 旋转的圆圈和波浪效果
- ✅ 状态显示 "UNLOCKED" 和 "ENABLED"
- ✅ 帧数持续增加
### 屏幕锁定时
- ✅ 动画立即停止
- ✅ 显示 "PAINTING DISABLED (Screen Locked)"
- ✅ 状态显示 "LOCKED" 和 "DISABLED"
- ✅ 帧数停止增加
## 命令速查
```bash
# 清理并重新编译
rm -rf build && ./build.sh
# 查看编译输出
./build.sh 2>&1 | tee build.log
# 运行并保存日志
./run.sh 2>&1 | tee app.log
# 仅编译(不清理)
cd build && make -j$(nproc)
# 直接运行(假设已编译)
./build/bin/ScreenLockDemo
```
## 常见问题
### Q: 提示 "Qt5 directory not found"
**A:** 修改 `CMakeLists.txt` 第16行设置正确的Qt5路径
```cmake
set(Qt5_DIR "/your/qt5/path/lib/cmake/Qt5")
```
### Q: 运行时提示找不到 Qt 库
**A:** 使用 `run.sh` 脚本运行,或手动设置:
```bash
export LD_LIBRARY_PATH=$HOME/sdk/qt-5.15.2/lib:$LD_LIBRARY_PATH
```
### Q: 锁屏检测不工作
**A:**
1. 检查控制台输出,确认 DBus 连接状态
2025-11-07 14:57:13 +08:00
2. 确保在支持的桌面环境下运行GNOME/KDE/XFCE/Deepin DDE
3. 对于 Deepin OS运行 `./test_deepin.sh` 进行完整诊断
4. 对于 GNOME尝试手动测试 `qdbus org.gnome.ScreenSaver`
5. 对于 Deepin检查 `dbus-send --session --dest=com.deepin.dde.lockFront`
2025-11-07 10:56:45 +08:00
### Q: 警告 "Failed to connect to any screen lock detection service"
**A:** 这表示当前桌面环境可能不支持标准的DBus锁屏接口。应用会继续运行但锁屏自动检测功能将不可用。你仍然可以使用手动控制按钮测试Paint事件的停止功能。
## 核心代码位置
想要修改或学习特定功能?直接查看这些文件:
- **锁屏检测逻辑**: `src/screenlockdetector.cpp` 第75-170行
- **Paint事件控制**: `src/customwidget.cpp` 第88-137行
- **动画绘制效果**: `src/customwidget.cpp` 第139-277行
- **主界面逻辑**: `src/mainwindow.cpp` 第143-179行
## 下一步
- 📖 阅读完整文档:`README.md`
- 🔧 自定义动画效果:修改 `customwidget.cpp`
- 🚀 添加更多桌面环境支持:扩展 `screenlockdetector.cpp`
- 🎨 调整UI界面修改 `mainwindow.cpp`
## 测试清单
完成以下测试确保应用正常工作:
- [ ] 应用成功编译
- [ ] 应用成功启动并显示窗口
- [ ] 可以看到动态动画效果
- [ ] 锁屏后动画停止
- [ ] 解锁后动画恢复
- [ ] 状态信息正确显示
- [ ] 帧数统计正常工作
- [ ] 手动控制按钮可用
2025-11-07 14:57:13 +08:00
- [ ] (Deepin OS) 运行 `./test_deepin.sh` 通过所有检查
2025-11-07 10:56:45 +08:00
全部通过?恭喜!🎉 应用已正常运行!
## 技术支持
遇到问题?
1. 查看控制台输出的详细日志
2. 检查 `README.md` 中的"故障排除"部分
3. 确认系统满足所有依赖要求
祝使用愉快!