ScreenLockDetector/docs/QUICKSTART.md

3.5 KiB
Raw Permalink Blame History

快速入门指南

5分钟快速上手

第一步:编译项目

cd qt_screan_lock
./build.sh

第二步:运行应用

./run.sh

第三步:测试锁屏检测

  1. 应用运行后,你会看到一个带有动态动画的窗口
  2. Ctrl + Alt + LSuper + L 锁定屏幕
  3. 观察动画是否停止
  4. 解锁屏幕,动画应该自动恢复

第四步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:

  1. 检查控制台输出,确认 DBus 连接状态
  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

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 通过所有检查

全部通过?恭喜!🎉 应用已正常运行!

技术支持

遇到问题?

  1. 查看控制台输出的详细日志
  2. 检查 README.md 中的"故障排除"部分
  3. 确认系统满足所有依赖要求

祝使用愉快!