61 lines
1.7 KiB
C
Raw Permalink Normal View History

2026-08-04 14:23:07 +08:00
#ifndef DIALOGALGOARG_H
#define DIALOGALGOARG_H
#include <QWidget>
#include <QDialog>
#include <QString>
#include <QLineEdit>
#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