3.5 KiB
3.5 KiB
快速入门指南
5分钟快速上手
第一步:编译项目
cd qt_screan_lock
./build.sh
第二步:运行应用
./run.sh
第三步:测试锁屏检测
- 应用运行后,你会看到一个带有动态动画的窗口
- 按
Ctrl + Alt + L或Super + L锁定屏幕 - 观察动画是否停止
- 解锁屏幕,动画应该自动恢复
第四步:Deepin OS 用户特别测试
如果你使用的是 Deepin OS,可以运行专门的测试脚本:
./test_deepin.sh
这个脚本会自动检测 Deepin DDE 环境并提供详细的测试指导。
更多 Deepin OS 相关信息,请参考:DEEPIN_SUPPORT.md
预期效果
屏幕解锁时
- ✅ 窗口显示彩色动态动画
- ✅ 旋转的圆圈和波浪效果
- ✅ 状态显示 "UNLOCKED" 和 "ENABLED"
- ✅ 帧数持续增加
屏幕锁定时
- ✅ 动画立即停止
- ✅ 显示 "PAINTING DISABLED (Screen Locked)"
- ✅ 状态显示 "LOCKED" 和 "DISABLED"
- ✅ 帧数停止增加
命令速查
# 清理并重新编译
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路径:
set(Qt5_DIR "/your/qt5/path/lib/cmake/Qt5")
Q: 运行时提示找不到 Qt 库
A: 使用 run.sh 脚本运行,或手动设置:
export LD_LIBRARY_PATH=$HOME/sdk/qt-5.15.2/lib:$LD_LIBRARY_PATH
Q: 锁屏检测不工作
A:
- 检查控制台输出,确认 DBus 连接状态
- 确保在支持的桌面环境下运行(GNOME/KDE/XFCE/Deepin DDE)
- 对于 Deepin OS:运行
./test_deepin.sh进行完整诊断 - 对于 GNOME:尝试手动测试
qdbus org.gnome.ScreenSaver - 对于 Deepin:检查
dbus-send --session --dest=com.deepin.dde.lockFront
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
测试清单
完成以下测试确保应用正常工作:
- 应用成功编译
- 应用成功启动并显示窗口
- 可以看到动态动画效果
- 锁屏后动画停止
- 解锁后动画恢复
- 状态信息正确显示
- 帧数统计正常工作
- 手动控制按钮可用
- (Deepin OS) 运行
./test_deepin.sh通过所有检查
全部通过?恭喜!🎉 应用已正常运行!
技术支持
遇到问题?
- 查看控制台输出的详细日志
- 检查
README.md中的"故障排除"部分 - 确认系统满足所有依赖要求
祝使用愉快!