# 快速入门指南 ## 5分钟快速上手 ### 第一步:编译项目 ```bash cd qt_screan_lock ./build.sh ``` ### 第二步:运行应用 ```bash ./run.sh ``` ### 第三步:测试锁屏检测 1. 应用运行后,你会看到一个带有动态动画的窗口 2. 按 `Ctrl + Alt + L` 或 `Super + L` 锁定屏幕 3. 观察动画是否停止 4. 解锁屏幕,动画应该自动恢复 ## 预期效果 ### 屏幕解锁时 - ✅ 窗口显示彩色动态动画 - ✅ 旋转的圆圈和波浪效果 - ✅ 状态显示 "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 连接状态 2. 确保在支持的桌面环境下运行(GNOME/KDE/XFCE) 3. 尝试手动测试:`qdbus org.gnome.ScreenSaver` ### 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` ## 测试清单 完成以下测试确保应用正常工作: - [ ] 应用成功编译 - [ ] 应用成功启动并显示窗口 - [ ] 可以看到动态动画效果 - [ ] 锁屏后动画停止 - [ ] 解锁后动画恢复 - [ ] 状态信息正确显示 - [ ] 帧数统计正常工作 - [ ] 手动控制按钮可用 全部通过?恭喜!🎉 应用已正常运行! ## 技术支持 遇到问题? 1. 查看控制台输出的详细日志 2. 检查 `README.md` 中的"故障排除"部分 3. 确认系统满足所有依赖要求 祝使用愉快!