#ifndef DIALOGALGOARG_H #define DIALOGALGOARG_H #include namespace Ui { class DialogAlgoArg; } class RodAndBarPositionPresenter; class HandEyeCalibWidget; class NetworkConfigWidget; /** * @brief 算法参数设置对话框 */ class DialogAlgoArg : public QDialog { Q_OBJECT public: explicit DialogAlgoArg(QWidget *parent = nullptr); ~DialogAlgoArg(); void SetPresenter(RodAndBarPositionPresenter* presenter); private slots: void on_btnOK_clicked(); void on_btnCancel_clicked(); void on_btnApply_clicked(); void on_btnReset_clicked(); // 手眼标定共享控件信号槽 void onCalibMatrixLoaded(int cameraIndex, const double* matrix); void onSaveCalibRequested(int cameraIndex, const double* matrix); private: void loadParams(); void saveParams(); void resetParams(); // 手眼标定 void InitHandEyeCalibTab(); // 网络配置 void InitNetworkConfigTab(); void loadNetworkConfig(); void saveNetworkConfig(); private: Ui::DialogAlgoArg *ui; RodAndBarPositionPresenter* m_presenter; // 手眼标定共享控件 HandEyeCalibWidget* m_handEyeCalibWidget; // 网络配置共享控件 NetworkConfigWidget* m_networkConfigWidget; }; #endif // DIALOGALGOARG_H