119 lines
3.0 KiB
Markdown
119 lines
3.0 KiB
Markdown
|
|
# 快速入门指南
|
|||
|
|
|
|||
|
|
## 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. 确认系统满足所有依赖要求
|
|||
|
|
|
|||
|
|
祝使用愉快!
|