添加单反相机控制看板
This commit is contained in:
95
HPPA/SingleLensReflexCameraWindow.cpp
Normal file
95
HPPA/SingleLensReflexCameraWindow.cpp
Normal file
@ -0,0 +1,95 @@
|
||||
#include "SingleLensReflexCameraWindow.h"
|
||||
|
||||
SingleLensReflexCameraWindow::SingleLensReflexCameraWindow(QWidget* parent)
|
||||
: QDialog(parent)
|
||||
{
|
||||
ui.setupUi(this);
|
||||
|
||||
m_SLRCameraThread = new QThread();
|
||||
m_SingleLensReflexCameraOperation = new SingleLensReflexCameraOperation();
|
||||
m_SingleLensReflexCameraOperation->moveToThread(m_SLRCameraThread);
|
||||
m_SLRCameraThread->start();
|
||||
|
||||
connect(ui.openSLRCamera_btn, &QPushButton::clicked, this, &SingleLensReflexCameraWindow::openSLRCamera);
|
||||
connect(ui.closeSLRCamera_btn, &QPushButton::clicked, this, &SingleLensReflexCameraWindow::closeSLRCamera);
|
||||
|
||||
connect(this, &SingleLensReflexCameraWindow::openSLRCameraSignal, m_SingleLensReflexCameraOperation, &SingleLensReflexCameraOperation::OpenSLRCamera);
|
||||
|
||||
connect(m_SingleLensReflexCameraOperation, &SingleLensReflexCameraOperation::CamOpenedSignal, this, &SingleLensReflexCameraWindow::onCamOpened);
|
||||
connect(m_SingleLensReflexCameraOperation, &SingleLensReflexCameraOperation::CamClosedSignal, this, &SingleLensReflexCameraWindow::onCamClosed);
|
||||
|
||||
connect(m_SingleLensReflexCameraOperation, &SingleLensReflexCameraOperation::PlotSignal, this, &SingleLensReflexCameraWindow::PlotSLRImageSignal);
|
||||
connect(m_SingleLensReflexCameraOperation, &SingleLensReflexCameraOperation::CamClosedSignal, this, &SingleLensReflexCameraWindow::SLRCamClosedSignal);
|
||||
}
|
||||
|
||||
SingleLensReflexCameraWindow::~SingleLensReflexCameraWindow()
|
||||
{
|
||||
m_SLRCameraThread->quit();
|
||||
m_SLRCameraThread->wait();
|
||||
delete m_SingleLensReflexCameraOperation;
|
||||
m_SingleLensReflexCameraOperation = nullptr;
|
||||
}
|
||||
|
||||
void SingleLensReflexCameraWindow::openSLRCamera()
|
||||
{
|
||||
if (!m_SingleLensReflexCameraOperation->getRecordStatus())
|
||||
{
|
||||
emit openSLRCameraSignal();
|
||||
}
|
||||
}
|
||||
|
||||
void SingleLensReflexCameraWindow::onCamOpened()
|
||||
{
|
||||
ui.openSLRCamera_btn->setEnabled(false);
|
||||
ui.closeSLRCamera_btn->setEnabled(true);
|
||||
|
||||
ui.openSLRCamera_btn->setText(QString::fromLocal8Bit("已打开"));
|
||||
}
|
||||
|
||||
void SingleLensReflexCameraWindow::closeSLRCamera()
|
||||
{
|
||||
m_SingleLensReflexCameraOperation->CloseSLRCamera();
|
||||
}
|
||||
|
||||
void SingleLensReflexCameraWindow::onCamClosed()
|
||||
{
|
||||
ui.openSLRCamera_btn->setEnabled(true);
|
||||
ui.closeSLRCamera_btn->setEnabled(false);
|
||||
|
||||
ui.openSLRCamera_btn->setText(QString::fromLocal8Bit("打 开"));
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------------------------------------------------------------
|
||||
SingleLensReflexCameraOperation::SingleLensReflexCameraOperation()
|
||||
{
|
||||
m_func = nullptr;
|
||||
record = false;
|
||||
}
|
||||
|
||||
SingleLensReflexCameraOperation::~SingleLensReflexCameraOperation()
|
||||
{
|
||||
}
|
||||
|
||||
void SingleLensReflexCameraOperation::OpenSLRCamera()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void SingleLensReflexCameraOperation::OpenSLRCamera_callback()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void SingleLensReflexCameraOperation::setCallback(void(*func)())
|
||||
{
|
||||
m_func = func;
|
||||
}
|
||||
|
||||
void SingleLensReflexCameraOperation::CloseSLRCamera()
|
||||
{
|
||||
std::cout << "SingleLensReflexCameraOperation::CloseSLRCamera,关闭单反相机" << std::endl;
|
||||
|
||||
record = false;
|
||||
|
||||
emit CamClosedSignal();
|
||||
}
|
||||
Reference in New Issue
Block a user