Files
HPPA/HPPA/rgbCameraWindow.h
tangchao0503 9bc2133e24 add,山地所贡嘎山10:
优化rgb相机控制,添加采集视频和照片的逻辑;
2026-09-10 17:11:44 +08:00

61 lines
1.3 KiB
C++

#pragma once
#include <QDialog>
#include <QNetworkRequest>
#include <QNetworkReply>
#include <QNetworkAccessManager>
#include "ui_rgbCamera.h"
#include "RgbCameraOperation.h"
#include "RgbCameraCaptureCoordinator.h"
class rgbCameraWindow : public QDialog
{
Q_OBJECT
public:
rgbCameraWindow(QWidget* parent = nullptr);
~rgbCameraWindow();
RgbCameraOperation* m_RgbCamera;
// 视频采集控制
void startVideoCapture();
void stopVideoCapture();
// 照片采集控制
void startPhotoCapture();
void stopPhotoCapture();
public Q_SLOTS:
void onSelectDataFolder();
void onFileNameChanged(const QString& text);
Q_SIGNALS:
void PlotRgbImageSignal();
void CamClosedSignal();
private Q_SLOTS:
// 协调器信号处理
void onCaptureStarted(RgbCameraCaptureCoordinator::CaptureMode mode);
void onCaptureStopped(RgbCameraCaptureCoordinator::CaptureMode mode);
void onCameraOpened();
void onCameraClosed();
void onCameraOpenFailed(const QString& error);
void onPhotoCaptured(const QString& filePath);
void onPhotoSaved(const QString& filePath);
private:
Ui::rgbCameraClass ui;
QThread* m_RgbCameraThread;//rgb相机获取图像线程
RgbCameraCaptureCoordinator* m_captureCoordinator;
void setDataFolder(QString dir);
void setFileName(QString name);
void loadSettings();
void saveSettings();
void setupCaptureCoordinator();
};