|
|
#include "QCamSettingDlg.h"
|
|
|
#pragma execution_character_set("utf-8")
|
|
|
QCamSettingDlg::QCamSettingDlg(QWidget *parent)
|
|
|
: QWidget(parent)
|
|
|
{
|
|
|
ui.setupUi(this);
|
|
|
setWindowIcon(QIcon(":/image/leaper"));
|
|
|
// QGridLayout *pLayout = new QGridLayout(ui.widget);
|
|
|
// m_pImgViewer = new RoiImgViewer(ui.widget);
|
|
|
// m_pImgViewer->setObjectName("Imageview_Setting");
|
|
|
// pLayout->addWidget(m_pImgViewer);
|
|
|
// ui.widget->setLayout(pLayout);
|
|
|
connect(ui.btnOpenCam, SIGNAL(clicked()), this, SLOT(onButtonClicked()));//打开相机
|
|
|
connect(ui.btnStartCam, SIGNAL(clicked()), this, SLOT(onButtonClicked()));//运行相机
|
|
|
connect(ui.btnImgSizeApply, SIGNAL(clicked()), this, SLOT(onButtonClicked()));//应用参数
|
|
|
connect(ui.tp_config_add_camera_open_virfolder_btn, SIGNAL(clicked()), this, SLOT(onButtonClicked()));
|
|
|
connect(ui.btn_add_camera_accept, SIGNAL(clicked()), this, SLOT(onButtonClicked()));
|
|
|
connect(ui.btn_camera_cancel, SIGNAL(clicked()), this, SLOT(onButtonClicked()));
|
|
|
|
|
|
}
|
|
|
|
|
|
QCamSettingDlg::~QCamSettingDlg()
|
|
|
{
|
|
|
if (m_pImgViewer)
|
|
|
{
|
|
|
delete m_pImgViewer;
|
|
|
m_pImgViewer = nullptr;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
void QCamSettingDlg::setCoreCtrlPtr(ICoreCtrl* ptr)
|
|
|
{
|
|
|
m_pCoreCtl = ptr;
|
|
|
if (m_pCoreCtl)
|
|
|
{
|
|
|
FuncCallBack_StrInt camEvFunc = std::bind(&QCamSettingDlg::onCamEvent, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3);
|
|
|
m_pCoreCtl->IRegisterCamEventCallBack(camEvFunc);
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
void QCamSettingDlg::onShowImage(QString serial , QImage img)
|
|
|
{
|
|
|
if (m_curCamKey != serial)
|
|
|
return;
|
|
|
// if (m_pImgViewer)
|
|
|
{
|
|
|
ui.imgViewer->setImg(img);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
void QCamSettingDlg::onModCam(QString serial)
|
|
|
{
|
|
|
ui.cmb_camera_type->setDisabled(true);
|
|
|
ui.edit_add_camera_sn->setDisabled(true);
|
|
|
|
|
|
if (m_pCoreCtl)
|
|
|
{
|
|
|
QStringList lst = m_pCoreCtl->ICameraKeys();
|
|
|
if (lst.size() <= 0)
|
|
|
return;
|
|
|
m_curCamKey = serial;
|
|
|
ui.edit_add_camera_sn->setText(m_curCamKey);
|
|
|
|
|
|
QMap<QString, QString> map = m_pCoreCtl->IGetCamShowNames();
|
|
|
QString strShow = map[m_curCamKey];
|
|
|
ui.edit_camera_showname->setText(strShow);
|
|
|
|
|
|
TP_CAMERA_OPTION camOpt;
|
|
|
m_pCoreCtl->IGetCameraOption(m_curCamKey, camOpt);
|
|
|
|
|
|
ui.spbImgStartX->setValue(0);
|
|
|
ui.spbImgStartY->setValue(0);
|
|
|
ui.spbImgHeight->setValue(camOpt.height);
|
|
|
ui.spbImgWidth->setValue(camOpt.width);
|
|
|
ui.spb_camera_exposure->setValue(camOpt.exposure);
|
|
|
ui.spb_camera_gain->setValue(camOpt.gain);
|
|
|
|
|
|
emTpColorFormat color = camOpt.format;
|
|
|
if (color == TP_COLOR_Y800)
|
|
|
ui.cmb_camera_format->setCurrentIndex(0);
|
|
|
else
|
|
|
ui.cmb_camera_format->setCurrentIndex(1);
|
|
|
|
|
|
if (camOpt.status == TP_CAMERA_STATUS_UNINIT)// 未初始化(刚从配置文件加载)
|
|
|
{
|
|
|
ui.btnOpenCam->setText("打开");
|
|
|
ui.btnStartCam->setText("运行");
|
|
|
}
|
|
|
else if (camOpt.status == TP_CAMERA_STATUS_INITED)// 已初始化(即加载DLL成功)
|
|
|
{
|
|
|
ui.btnOpenCam->setText("打开");
|
|
|
ui.btnStartCam->setText("运行");
|
|
|
}
|
|
|
else if (camOpt.status == TP_CAMERA_STATUS_OPENED)// 已打开
|
|
|
{
|
|
|
ui.btnOpenCam->setText("关闭");
|
|
|
ui.btnStartCam->setText("运行");
|
|
|
}
|
|
|
else if (camOpt.status == TP_CAMERA_STATUS_STARTED)// 运行中
|
|
|
{
|
|
|
ui.btnOpenCam->setText("关闭");
|
|
|
ui.btnStartCam->setText("停止");
|
|
|
}
|
|
|
else if (camOpt.status == TP_CAMERA_STATUS_STOPPED)// 暂停
|
|
|
{
|
|
|
ui.btnOpenCam->setText("关闭");
|
|
|
ui.btnStartCam->setText("运行");
|
|
|
}
|
|
|
else if (camOpt.status == TP_CAMERA_STATUS_CLOSED)// 已关闭
|
|
|
{
|
|
|
ui.btnOpenCam->setText("打开");
|
|
|
ui.btnStartCam->setText("运行");
|
|
|
}
|
|
|
else {
|
|
|
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
void QCamSettingDlg::onCamEvent(const QString& serial, emTpCameraStatus status, bool ret)
|
|
|
{
|
|
|
if (m_curCamKey != serial)
|
|
|
return;
|
|
|
|
|
|
if (status == TP_CAMERA_STATUS_CLOSED && ret == true)
|
|
|
{
|
|
|
ui.btnOpenCam->setText("打开");
|
|
|
ui.btnStartCam->setText("运行");
|
|
|
ui.btnStartCam->setDisabled(true);
|
|
|
}
|
|
|
else if (status == TP_CAMERA_STATUS_OPENED && ret == true)
|
|
|
{
|
|
|
ui.btnOpenCam->setText("关闭");
|
|
|
ui.btnStartCam->setText("运行");
|
|
|
ui.btnStartCam->setDisabled(false);
|
|
|
}
|
|
|
else if (status == TP_CAMERA_STATUS_STARTED && ret == true)
|
|
|
{
|
|
|
ui.btnOpenCam->setText("关闭");
|
|
|
ui.btnStartCam->setText("停止");
|
|
|
ui.btnStartCam->setDisabled(false);
|
|
|
}
|
|
|
else if (status == TP_CAMERA_STATUS_STOPPED && ret == true)
|
|
|
{
|
|
|
ui.btnOpenCam->setText("关闭");
|
|
|
ui.btnStartCam->setText("运行");
|
|
|
ui.btnStartCam->setDisabled(false);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
void QCamSettingDlg::onInitWidget(QString serial)
|
|
|
{
|
|
|
/* if (m_pCoreCtl)
|
|
|
{
|
|
|
QStringList lst = m_pCoreCtl->ICameraKeys();
|
|
|
if (lst.size() <= 0)
|
|
|
return;
|
|
|
m_curCamKey = serial;
|
|
|
ui.m_SerialNo->setText(m_curCamKey);
|
|
|
|
|
|
QMap<QString, QString> map = m_pCoreCtl->IGetCamShowNames();
|
|
|
QString strShow = map[m_curCamKey];
|
|
|
ui.m_ShowName->setText(strShow);
|
|
|
|
|
|
TP_CAMERA_OPTION camOpt;
|
|
|
m_pCoreCtl->IGetCameraOption(m_curCamKey, camOpt);
|
|
|
|
|
|
int h = camOpt.height;
|
|
|
int w = camOpt.width;
|
|
|
int e = camOpt.exposure;
|
|
|
int g = camOpt.gain;
|
|
|
|
|
|
ui.m_ImgWidth->setText(QString("%1").arg(w));
|
|
|
ui.m_ImgHeight->setText(QString("%1").arg(h));
|
|
|
ui.m_Expouse->setText(QString("%1").arg(e));
|
|
|
ui.m_Gain->setText(QString("%1").arg(g));
|
|
|
ui.lineEdit_3->setText(camOpt.folder);
|
|
|
{
|
|
|
int devType = camOpt.deviceType;
|
|
|
int index = 0;
|
|
|
switch (devType)
|
|
|
{
|
|
|
case 100:
|
|
|
index = 0;
|
|
|
onShowVirtualDir(true);
|
|
|
break;
|
|
|
case 140:
|
|
|
index = 1;
|
|
|
onShowVirtualDir(false);
|
|
|
break;
|
|
|
case 160:
|
|
|
index = 2;
|
|
|
onShowVirtualDir(false);
|
|
|
break;
|
|
|
default:
|
|
|
// break;
|
|
|
}
|
|
|
ui.comboBox->setCurrentIndex(index);
|
|
|
}
|
|
|
{
|
|
|
emTpColorFormat color = camOpt.format;
|
|
|
if (color == TP_COLOR_Y800)
|
|
|
ui.m_Pixformat->setCurrentIndex(0);
|
|
|
else
|
|
|
ui.m_Pixformat->setCurrentIndex(1);
|
|
|
}
|
|
|
if (camOpt.status == TP_CAMERA_STATUS_STARTED)
|
|
|
{
|
|
|
EnableUI(false);
|
|
|
ui.m_pbOpen->setText(tr("关闭"));
|
|
|
ui.m_pbTrigger->setDisabled(false);
|
|
|
}
|
|
|
else {
|
|
|
ui.m_pbOpen->setText(tr("打开"));
|
|
|
EnableUI(true);
|
|
|
ui.m_pbTrigger->setDisabled(true);
|
|
|
}
|
|
|
}*/
|
|
|
}
|
|
|
|
|
|
Q_SLOT void QCamSettingDlg::onButtonClicked()
|
|
|
{
|
|
|
QString strObj = sender()->objectName();
|
|
|
if ("btnOpenCam" == strObj)//打开相机
|
|
|
{
|
|
|
QString str = ui.btnOpenCam->text();
|
|
|
if ("打开" == str)
|
|
|
{
|
|
|
m_pCoreCtl->IOpenCamera(m_curCamKey);
|
|
|
}
|
|
|
else {
|
|
|
m_pCoreCtl->ICloseCamera(m_curCamKey);
|
|
|
}
|
|
|
}
|
|
|
else if ("btnStartCam" == strObj)//运行相机
|
|
|
{
|
|
|
QString str = ui.btnStartCam->text();
|
|
|
if ("运行" == str)
|
|
|
{
|
|
|
m_pCoreCtl->IStartCamera(m_curCamKey);
|
|
|
}
|
|
|
else {
|
|
|
m_pCoreCtl->IStopCamera(m_curCamKey);
|
|
|
}
|
|
|
}
|
|
|
else if ("btnImgSizeApply" == strObj)//应用参数
|
|
|
{
|
|
|
|
|
|
}
|
|
|
else if ("tp_config_add_camera_open_virfolder_btn" == strObj)
|
|
|
{
|
|
|
|
|
|
}
|
|
|
else if ("btn_add_camera_accept" == strObj)
|
|
|
{
|
|
|
if (m_pCoreCtl)
|
|
|
m_pCoreCtl->ISnapImage(QStringList() << m_curCamKey);
|
|
|
}
|
|
|
else if ("btn_camera_cancel" == strObj)
|
|
|
{
|
|
|
|
|
|
}
|
|
|
}
|
|
|
|
|
|
void QCamSettingDlg::onShowVirtualDir(bool bShow)
|
|
|
{
|
|
|
// ui.label_4->setVisible(bShow);
|
|
|
// ui.lineEdit_3->setVisible(bShow);
|
|
|
// ui.m_pbSetting->setVisible(bShow);
|
|
|
}
|
|
|
|
|
|
void QCamSettingDlg::EnableUI(bool b)
|
|
|
{
|
|
|
// ui.m_SerialNo->setDisabled(!b);
|
|
|
// ui.m_ShowName->setDisabled(!b);
|
|
|
// ui.comboBox->setDisabled(!b);
|
|
|
// ui.m_Pixformat->setDisabled(!b);
|
|
|
// ui.toolButton->setDisabled(!b);
|
|
|
// ui.comboBox_3->setDisabled(!b);
|
|
|
// ui.m_pbSetRect->setDisabled(!b);
|
|
|
// ui.m_ImgWidth->setDisabled(!b);
|
|
|
// ui.m_ImgHeight->setDisabled(!b);
|
|
|
}
|
|
|
|