#ifndef DIALOGALGOARG_H #define DIALOGALGOARG_H #include #include #include #include #include "ConfigManager.h" class ToolExtrinsicWidget; class NetworkConfigWidget; namespace Ui { class DialogAlgoarg; } class DialogAlgoarg : public QDialog { Q_OBJECT public: explicit DialogAlgoarg(ConfigManager* configManager, QWidget *parent = nullptr); ~DialogAlgoarg(); private slots: void on_btn_camer_ok_clicked(); void on_btn_camer_cancel_clicked(); void on_btn_loadCalibMatrix_clicked(); private: void LoadConfigToUI(); bool SaveConfigFromUI(); void InitToolExtrinsicTab(); void InitNetworkConfigTab(); void LoadModelDetectionParamsToUI(const VrWorkpieceModelParam& modelParam); bool SaveModelDetectionParamsFromUI(VrWorkpieceModelParam& modelParam); void LoadFullImageCaptureParamsToUI(const VrFullImageCaptureParam& captureParam); bool SaveFullImageCaptureParamsFromUI(VrFullImageCaptureParam& captureParam); // 网络配置(JSON TCP 端口 + Modbus 寄存器地址) void LoadPlcRobotServerConfigToUI(const VrPlcRobotServerConfig& config); bool SavePlcRobotServerConfigFromUI(VrPlcRobotServerConfig& config); // 手眼标定矩阵 void LoadCalibMatrixToUI(); void LoadCalibMatrixFromFile(const QString& filePath); bool SaveCalibMatrixToConfig(VrHandEyeCalibMatrix& calibMatrix); QLineEdit* GetCalibLineEdit(int row, int col); void InitEulerOrderComboBox(); private: Ui::DialogAlgoarg *ui; ConfigManager* m_pConfigManager; QString m_configFilePath; ToolExtrinsicWidget* m_toolExtrinsicWidget; NetworkConfigWidget* m_networkConfigWidget = nullptr; }; #endif // DIALOGALGOARG_H