feat:初始化wuhan_QT界面代码

This commit is contained in:
xu
2026-09-09 17:00:37 +08:00
commit 40473ad10b
537 changed files with 23934 additions and 0 deletions
+121
View File
@@ -0,0 +1,121 @@
#ifndef GLOBAL_H
#define GLOBAL_H
#include <QString>
#include <QStringList>
#include <QVector>
#include <QWidget>
#include <QTimer>
#include <QVariant>
// ===================== 画布与全局常量 =====================
// 屏幕分辨率(1920×1080 横屏);若部署在更低分辨率屏,可按同一比例整体缩放
static const int SCREEN_W = 1920;
static const int SCREEN_H = 1080;
// ===================== 工业风格配色体系(QSS 十六进制) =====================
namespace C {
const QString BG = "#161C23"; // 主背景:窗口画布底色
const QString PANEL = "#242E3A"; // 面板背景:卡片/弹窗/顶条/底条
const QString PANEL_HI = "#2D3947"; // 面板亮色:按钮常态、表头、进度条底
const QString BORDER = "#3D4A59"; // 分割线:边框、表格线
const QString TEXT = "#E6EDF3"; // 主文字:标题、正文、数值
const QString TEXT_SUB = "#9AA7B4"; // 次文字:说明、单位、标签
const QString PRIMARY = "#3D8BFD"; // 强调主色:主按钮、选中、焦点、进度条
const QString SUCCESS = "#36C75A"; // 成功/运行:运行、开启、到位
const QString WARNING = "#F5A623"; // 警告:提醒、待确认
const QString DANGER = "#E5484D"; // 危险/故障:急停、故障、警示
const QString DISABLED = "#56636F"; // 禁用:不可操作控件底色
const QString DISABLED_T = "#6B7A88"; // 禁用文字
}
// ===================== 操作模式 =====================
// 面板机械旋钮切换:行车模式 / 机械臂模式
enum class Mode { Drive = 0, Arm = 1 };
// ===================== 页面枚举(QStackedWidget 索引) =====================
enum PageId {
PageBoot = 0, // ③ 开机密码
PageWarning, // 密码警告
PageMgmtLogin, // 密码管理登录
PageMgmt, // 密码管理
PageReset, // 密码重置
PageSelfCheck, // ④ 自检
PageJob, // ⑤ 作业选择
PageChassis, // ⑥ 机器人底盘
PageArm, // ⑦ 机械臂
PageGas, // ⑧ 气体检测仪
PageClean, // ⑨ 手动消除
PageDisinfect, // ⑩ 手动消毒
PageDebug, // ⑪ 调试维护
PageFault, // ⑫ 故障查询
PageCount
};
// ===================== 遥测数据(车载端 → UI) =====================
// 由通信层解析 UDP 报文后填充,页面 500ms 定时读取刷新
struct Telemetry {
// 底盘
int soc = 85; // 电量 %
double volt = 360.0; // 电压 V
double speed = 3.45; // 车速 km/h
bool handbrake = true; // 手刹
QStringList chassisFaults; // 底盘故障(多条 2s 轮换)
// 机械臂
QVector<double> js{30, 20, 0, 90, 45, 0}; // 关节角 J1~J6(°)
QString pos = "--"; // 末端位置 XYZ
QString pose = "--"; // 姿态 RX/RY/RZ
double vel = 0.0; // 末端速度
QString returnState = "idle";// 回位状态 idle/returning/done/fault
bool armHomed = false; // 是否已回位(用于底盘“机械臂未回位”告警)
// 洗消
QString washMode = "--"; // 手动消除 / 手动消毒
double flowA = 0.0; // A 药剂流量 L/min
double flowB = 0.0; // B 药剂流量 L/min
double gasFlow = 0.0; // 气体流量 L/min
double press = 0.0; // 管路压力 MPa
double airPress = 0.0; // 空压机压力 MPa
double foam = 0.0; // 发泡倍数
QStringList washFaults; // 洗消故障代码
// 液位
double levelA = 100.0; // 清水/药剂液位 L
double levelFoam = 30.0; // 泡沫液位 L
// 气体检测仪
QString gasHost = "standby"; // 主机状态 standby/detecting/fault
QString gasType = "--"; // 有毒物种类
QString gasLevel = "--"; // 有毒物等级
double gasConc = 0.0; // 有毒物浓度 ppb
// 球阀 D1/D2
bool d1open = false; // D1 开启到位
bool d1close = true; // D1 关闭到位
bool d2open = false; // D2 开启到位
bool d2close = true; // D2 关闭到位
QString valveFault; // 球阀故障码
// 泵
bool plunger = false; // 柱塞泵上电
bool air = false; // 空压机上电
bool leaf = false; // 叶片泵上电
QStringList pumpFaults; // 泵故障代码
// 全局
bool commOk = true; // 通信状态
bool estop = false; // 急停触发
};
// ===================== 工具函数 =====================
// 启动 500ms 闪烁:每 500ms 切换一次 QSS 动态属性(40% ↔ 100% 透明度由 QSS 规则体现)
QTimer* startBlink(QWidget* w, const char* prop = "blink");
// 关闭闪烁定时器并复位属性
void stopBlink(QWidget* w, const char* prop = "blink");
// 全局 QSS 样式表
QString appStyleSheet();
#endif // GLOBAL_H