#pragma once #include #include class AppSettings { public: static AppSettings& instance(); // 数据路径 QString dataFolder() const; void setDataFolder(const QString& path); QString fileName() const; void setFileName(const QString& path); // 帧率 int frameRate() const; void setFrameRate(int value); // 积分时间 int integrationTime() const; void setIntegrationTime(int value); // 增益 int gain() const; void setGain(int value); // 单反相机数据保存路径 QString slrDataFolder() const; void setSlrDataFolder(const QString& path); // 深度相机数据保存路径 QString depthCameraDataFolder() const; void setDepthCameraDataFolder(const QString& path); QString FiberImagerDataFolder() const; void setFiberImagerDataFolder(const QString& path); QString rgbCameraDataFolder() const; void setRgbCameraDataFolder(const QString& path); // RGB相机文件名 QString rgbCameraFileName() const; void setRgbCameraFileName(const QString& name); QString fodisCameraFileName() const; void setFodisCameraFileName(const QString& name); // 扫描速度 double scanSpeed() const; void setScanSpeed(double value); // 返回速度 double returnSpeed() const; void setReturnSpeed(double value); // 手动移动速度 double manualMovementSpeed() const; void setManualMovementSpeed(double value); // 贡嘎山记录端口 int gonggaShanRecordPort() const; void setGonggaShanRecordPort(int value); // 图像显示模式枚举 enum class HyperimgDisplayMode { Full, Waterfall }; // 图像显示模式 HyperimgDisplayMode hyperimgDisplayMode() const; void setHyperimgDisplayMode(HyperimgDisplayMode mode); // 在此处添加更多参数的 getter/setter ... private: AppSettings(); AppSettings(const AppSettings&) = delete; AppSettings& operator=(const AppSettings&) = delete; QSettings m_settings; // 默认值 static const QString kDefaultDataFolder; static const QString kDefaultFileName; static const int kDefaultFrameRate; static const int kDefaultIntegrationTime; static const int kDefaultGain; static const QString kDefaultSLRDataFolder; static const QString kDefaultDepthCameraDataFolder; static const double kDefaultScanSpeed; static const double kDefaultReturnSpeed; static const int kDefaultGonggaShanRecordPort; static const HyperimgDisplayMode kDefaultHyperimgDisplayMode; };