#ifndef TOOLEXTRINSICWIDGET_H #define TOOLEXTRINSICWIDGET_H #include #include #include #include #include /** * @brief 工具外参编辑控件(从 HandEyeCalibWidget 中抽取 m_groupExtrinsic) * * 纯 QWidget,代码构建 UI(无 .ui 文件),可嵌入任意 tab/layout。 * 包含:欧拉角顺序 + 姿态调整 + 目标点偏移。 */ class ToolExtrinsicWidget : public QWidget { Q_OBJECT public: explicit ToolExtrinsicWidget(QWidget *parent = nullptr); ~ToolExtrinsicWidget(); void setData(int eulerOrder, double rotX, double rotY, double rotZ, double offsetX, double offsetY, double offsetZ); void getData(int& eulerOrder, double& rotX, double& rotY, double& rotZ, double& offsetX, double& offsetY, double& offsetZ) const; void setTargetOffsetVisible(bool visible); private: void setupUI(); void initEulerOrderComboBox(); QGroupBox* m_groupExtrinsic; QComboBox* m_comboEulerOrder; QLineEdit* m_editRotX; QLineEdit* m_editRotY; QLineEdit* m_editRotZ; QLabel* m_labelTargetOffset; QLineEdit* m_editOffsetX; QLineEdit* m_editOffsetY; QLineEdit* m_editOffsetZ; }; #endif // TOOLEXTRINSICWIDGET_H