# Printer Screen Menu

本项目为一个基于 PyQt6 的触摸屏控制与显示界面，作为 AIO_3D_Print_Web_Platform 的附属项目，用于在树莓派或类似设备上显示打印机状态、控制打印流程、查看 GCode 预览以及管理网络与设置。

主要功能
- 状态面板：显示打印作业、进度、温度等信息
- 控制面板：发送常用 GCode、暂停/停止/回原点等操作
- 设置面板：WiFi 管理、系统设置与悬浮虚拟键盘
- GCode 3D 预览：基于 OpenGL 的轻量渲染（适配 eglfs）
- 自动风扇状态读取与显示

关联项目
- 本仓库为 AIO_3D_Print_Web_Platform 的附属项目：
  https://gitea.lhye.work/lhye200/AIO_3D_Print_Web_Platform

可选相关项目
- 该UI会显示该项目管理的风扇信息：
  https://gitea.lhye.work/lhye200/Raspi_Auto_Fan

依赖说明
- PyQt6：优先通过系统包管理（apt）安装（脚本会尝试检测并安装可用的 python3-pyqt6 包）；若系统不可用，则回退到在虚拟环境中通过 pip 安装。 
- 其它 Python 包（通过 pip 安装，并在 `requirements.txt` 列出）：`requests`, `numpy`, `PyOpenGL`, `qrcode`, `Pillow`。

快速安装
1. 赋予安装脚本可执行权限并运行（脚本会为你创建 `venv` 并安装缺失依赖）：

```bash
chmod +x install.sh
./install.sh
```

2. 启动程序：

```bash
source venv/bin/activate
python3 main.py
```

说明与开发者备注
- 本项目假设在 Debian/Ubuntu 类系统（支持 apt）上运行；在其他发行版上请根据包管理器调整安装方式。
- 安装脚本会优先尝试通过 apt 安装系统级 PyQt6 包（若可用），并在虚拟环境中安装剩余的 pip 依赖。

致谢与声明
- 本仓库为 AIO_3D_Print_Web_Platform 的本地触屏界面辅助项目（非原始主仓库），相关功能与 API 由主项目提供。
- 本文档与安装脚本在编写过程中得到 AI 辅助生成与整理。

License
- 详见项目根目录的 LICENSE 文件。

## 第三方许可说明
- 本项目中使用了 [Bootstrap Icons](https://icons.getbootstrap.com/) 作为部分界面图标。Bootstrap Icons 基于 **MIT License** 开源。
