# 机械臂仪表盘学习项目 **Repository Path**: suyu1314/TechDashboard ## Basic Information - **Project Name**: 机械臂仪表盘学习项目 - **Description**: TechDashboard 是一个使用 Qt 5.15 与 Qt 3D 搭建的桌面端学习项目,通过 3D 模型与控制面板演示如何在 C++/Qt 环境中完成可视化、交互和动画逻辑。它包含一个可旋转的 3D 机械臂、暗色调的控制台界面以及可扩展的仪表盘控件,适合作为学习 Qt Widgets、Qt3D 和现代界面设计的综合练手仓库。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-19 - **Last Updated**: 2025-11-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TechDashboard 机械臂仪表盘学习项目 ## 项目简介 TechDashboard 是一个使用 Qt 5.15 与 Qt 3D 搭建的桌面端学习项目,通过 3D 模型与控制面板演示如何在 C++/Qt 环境中完成可视化、交互和动画逻辑。它包含一个可旋转的 3D 机械臂、暗色调的控制台界面以及可扩展的仪表盘控件,适合作为学习 Qt Widgets、Qt3D 和现代界面设计的综合练手仓库。 ## 功能亮点 - Qt3D 构建的机械臂实体,包含底座、大臂/小臂、爪子等层级结构及对应变换。 - QSlider + lambda 回调实现的实时姿态控制,调节基座旋转、肩关节、肘关节与爪子滚转。 - 预设动作按钮(复位、示例抓取)展示如何在 UI 中绑定高层行为。 - Qt3DWindow + QWidget::createWindowContainer 搭建的 3D 视图与控制面板并列布局,支持轨道摄像机与灯光。 - DashboardWidget.cpp 展示了一个霓虹风格的仪表盘控件,可作为进一步整合状态监控或 HUD 的基础。 ## 技术栈 - C++17 / Qt 5.15(Widgets、Qt3DCore、Qt3DExtras、Qt3DRender)。 - Qt Creator / qmake 构建流程,默认模板为桌面应用。 - QPainter 自定义控件示例,用于仪表盘渲染。 ## 运行环境 - Windows 10/11 或 Linux(需 GPU/OpenGL 支持)。 - Qt 5.15.x,安装时勾选 Qt 3D 模块;若使用 MSVC,请选择对应套件。 - C++17 编译器(MSVC 2019、MinGW 8.1、Clang 等任意一个)。 - Git(用于克隆仓库)。 ## 快速开始 ### 方式一:Qt Creator 1. 安装 Qt 5.15 及 Qt Creator,并确保选择 Qt3D 组件。 2. 使用 Qt Creator 打开 `TechDashboard.pro`,选择合适的 Kit(如 MSVC 2019 64bit 或 MinGW 64bit)。 3. 点击构建并运行,Qt Creator 会自动调用 qmake/make 并启动带有 3D 视图和控制面板的窗口。 ### 方式二:命令行(MinGW 或 Linux) ```bash # 安装好 Qt 并配置环境变量后执行 git clone https://gitee.com/your-account/TechDashboard.git cd TechDashboard qmake TechDashboard.pro # Windows + MinGW mingw32-make # Linux 或 macOS make # 运行 ./release/TechDashboard.exe # Windows ./TechDashboard # Linux/macOS ``` > 如果使用 MSVC,请在“x64 Native Tools Command Prompt”中运行 `qmake`,随后使用 `nmake` 构建。 ## 目录结构 ``` TechDashboard ├─ main.cpp # 程序入口,初始化 Qt3D 场景与控制面板 ├─ RoboticArm3D.h # 机械臂实体的建模、材质与控制 API ├─ DashboardWidget.cpp # 仪表盘控件示例(可根据需要加入项目) └─ TechDashboard.pro # qmake 项目文件,定义依赖与构建配置 ``` ## 关键模块解析 - `RoboticArm3D`:封装底座、大臂、小臂、爪子的实体构建及 `setBaseRotation`、`resetPose` 等控制接口。 - `main.cpp`:配置 Qt3DWindow、Orbit 摄像机、灯光,并搭建 QWidget 控制面板与滑块绑定。 - `DashboardWidget.cpp`:演示如何使用 QPainter 自绘渐变、刻度与指针,为后续 HUD/监控模块提供参考。 ## 学习路线与拓展建议 1. 理解 Qt3D 场景树,尝试加入更多关节或自定义材质。 2. 将 DashboardWidget 集成到主界面,展示速度/扭矩/电流等实时数据。 3. 引入 QStateMachine 或 QPropertyAnimation,制作完整的机械臂动作序列录制与回放。 4. 打造数据接口:可从串口、WebSocket 或模拟数据源获取传感器值并驱动界面。 5. 增加配置面板和设置持久化(QSettings),完善成可用于演示的“仪表盘”。 ## 常见问题排查 - **Qt3D 模块缺失**:在 Qt Maintenance Tool 中勾选 *Qt 3D* 组件,重新配置 Kit。 - **运行时报 `Qt3DExtras` 找不到**:确认 `.pro` 中 `QT += 3dcore 3drender 3dinput 3dextras` 已生效,同时清理 `build` 目录后重新构建。 - **黑屏或崩溃**:更新显卡驱动,并确保在桌面平台启用了 OpenGL;必要时在 `QSurfaceFormat` 中切换到 OpenGL ES。 ## 项目作者 - 作者:C/C++练习生 - 邮箱:1643689728@qq.com - 仓库:https://gitee.com/suyu1314/TechDashboard ## 许可证 本项目以 MIT License 授权发布,版权归 C/C++练习生 (1643689728@qq.com) 所有。分发或二次开发时请一并保留 `LICENSE` 文件与版权声明。