增加相机配置功能

newClassify
bobpan 5 years ago
parent a7b131b059
commit 8507f9936a

@ -1,11 +1,195 @@
#include "QCamSettingDlg.h"
#pragma execution_character_set("utf-8")
QCamSettingDlg::QCamSettingDlg(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);
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.m_pbSetRect, SIGNAL(clicked()), this, SLOT(onButtonClicked()));
connect(ui.m_pbSetParam, SIGNAL(clicked()), this, SLOT(onButtonClicked()));
connect(ui.m_pbOpen, SIGNAL(clicked()), this, SLOT(onButtonClicked()));
connect(ui.m_pbSetting, SIGNAL(clicked()), this, SLOT(onButtonClicked()));
connect(ui.m_pbTrigger, SIGNAL(clicked()), this, SLOT(onButtonClicked()));
connect(ui.toolButton, SIGNAL(clicked()), this, SLOT(onButtonClicked()));
}
QCamSettingDlg::~QCamSettingDlg()
{
if (m_pImgViewer)
{
delete m_pImgViewer;
m_pImgViewer = nullptr;
}
}
void QCamSettingDlg::onShowImage(QImage img)
{
if (m_pImgViewer)
{
m_pImgViewer->setImg(img);
}
}
void QCamSettingDlg::onInitWidget()
{
if (m_pCoreCtl)
{
QStringList lst = m_pCoreCtl->ICameraKeys();
if (lst.size() <= 0)
return;
m_curCamKey = lst.first();
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;
// int h = 0, w = 0;;
// m_pCoreCtl->IGetHeight(m_curCamKey,h);
// m_pCoreCtl->IGetWidth(m_curCamKey, w);
// int e = 0, g = 0;
// m_pCoreCtl->IGetExposureTime(m_curCamKey, e);
// m_pCoreCtl->IGetGain(m_curCamKey, g);
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 ("m_pbSetRect" == strObj)
{
int h = ui.m_ImgHeight->text().toInt();
int w = ui.m_ImgWidth->text().toInt();
int index = ui.m_Pixformat->currentIndex();
if (m_pCoreCtl)
{
emTpColorFormat colorf = index == 0 ? TP_COLOR_Y800 : TP_COLOR_RGB32;
m_pCoreCtl->ISetHeight(m_curCamKey, h);
m_pCoreCtl->ISetWidth(m_curCamKey, w);
//m_pCoreCtl->ISetPixelFormat();
m_pCoreCtl->saveConfig();
}
}
else if ("m_pbSetParam" == strObj)
{
int e = ui.m_Expouse->text().toInt();
int g = ui.m_Gain->text().toInt();
if (m_pCoreCtl)
{
m_pCoreCtl->ISetExposureTime(m_curCamKey, e);
m_pCoreCtl->ISetGain(m_curCamKey, g);
m_pCoreCtl->saveConfig();
}
}
else if ("m_pbOpen" == strObj)
{
if (m_pCoreCtl)
{
if (tr("关闭") == ui.m_pbOpen->text())
{
m_pCoreCtl->ICloseCamera(m_curCamKey);
ui.m_pbOpen->setText(tr("打开"));
EnableUI(true);
}
else
{
m_pCoreCtl->IOpenCamera(m_curCamKey);
m_pCoreCtl->IStartCamera(m_curCamKey);
ui.m_pbOpen->setText(tr("关闭"));
EnableUI(false);
}
}
}
else if ("m_pbSetting" == strObj)
{
}
else if ("m_pbTrigger" == strObj)
{
if (m_pCoreCtl)
m_pCoreCtl->ISnapImage(QStringList() << m_curCamKey);
}
else if ("toolButton" == 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);
}

@ -4,6 +4,8 @@
#include <QWidget>
#include "ui_QCamSettingDlg.h"
#include "iCoreCtrl.h"
#include "RoiImgViewer.h"
#include <QImage>
class QCamSettingDlg : public QWidget
{
@ -13,9 +15,19 @@ public:
QCamSettingDlg(QWidget *parent = Q_NULLPTR);
~QCamSettingDlg();
void setCoreCtrlPtr(ICoreCtrl* ptr) { m_pCoreCtl = ptr; };
void onShowImage(QImage img);
void onInitWidget();
Q_SLOT void onButtonClicked();
void onShowVirtualDir(bool bShow);
void EnableUI(bool b);
private:
Ui::QCamSettingDlg ui;
ICoreCtrl* m_pCoreCtl{ nullptr };
RoiImgViewer* m_pImgViewer{ nullptr };
QString m_curCamKey;
};
#endif

@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>857</width>
<height>466</height>
<width>876</width>
<height>477</height>
</rect>
</property>
<property name="windowTitle">
@ -31,7 +31,7 @@
<widget class="QFrame" name="frame">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>2</horstretch>
<horstretch>3</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
@ -41,143 +41,373 @@
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="gridLayout">
<layout class="QGridLayout" name="gridLayout_5">
<property name="leftMargin">
<number>3</number>
</property>
<property name="topMargin">
<number>3</number>
</property>
<property name="rightMargin">
<number>3</number>
</property>
<property name="bottomMargin">
<number>3</number>
</property>
<item row="2" column="0">
<layout class="QGridLayout" name="gridLayout_2">
<item row="1" column="0">
<widget class="QComboBox" name="comboBox_3">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<item>
<property name="text">
<string>内触发</string>
</property>
</item>
<item>
<property name="text">
<string>外触发</string>
</property>
</item>
<item>
<property name="text">
<string>软触发</string>
</property>
</item>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label">
<widget class="QPushButton" name="m_pbOpen">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>序列号:</string>
<string>打开</string>
</property>
</widget>
</item>
<item row="0" column="1" colspan="4">
<widget class="QLineEdit" name="lineEdit"/>
<item row="2" column="0">
<widget class="QPushButton" name="m_pbTrigger">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>触发</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="0" column="0" colspan="2">
<layout class="QGridLayout" name="gridLayout_4">
<item row="1" column="0">
<widget class="QLabel" name="label_2">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>显示名称:</string>
</property>
</widget>
</item>
<item row="1" column="1" colspan="4">
<widget class="QLineEdit" name="lineEdit_2"/>
<item row="1" column="1">
<widget class="QLineEdit" name="m_ShowName">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_3">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>相机类型:</string>
</property>
</widget>
</item>
<item row="2" column="1" colspan="2">
<widget class="QComboBox" name="comboBox"/>
<item row="2" column="1">
<widget class="QComboBox" name="comboBox">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<item>
<property name="text">
<string>虚拟相机</string>
</property>
</item>
<item row="3" column="0">
<item>
<property name="text">
<string>海康相机</string>
</property>
</item>
<item>
<property name="text">
<string>堡盟相机</string>
</property>
</item>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="m_SerialNo">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>序列号:</string>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QToolButton" name="toolButton">
<property name="text">
<string>...</string>
</property>
</widget>
</item>
<item row="5" column="0" colspan="3">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="label_4">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>路径:</string>
</property>
</widget>
</item>
<item row="3" column="1" colspan="2">
<widget class="QLineEdit" name="lineEdit_3"/>
<item>
<widget class="QLineEdit" name="lineEdit_3">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
</widget>
</item>
<item row="3" column="3" colspan="2">
<widget class="QPushButton" name="pushButton_2">
<item>
<widget class="QPushButton" name="m_pbSetting">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>设置</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_5">
</layout>
</item>
<item row="4" column="0" colspan="3">
<layout class="QGridLayout" name="gridLayout">
<item row="4" column="0" colspan="3">
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="6" column="2" rowspan="2">
<widget class="QToolButton" name="m_pbSetParam">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>图像高度:</string>
<string>...</string>
</property>
</widget>
</item>
<item row="4" column="1" colspan="4">
<widget class="QLineEdit" name="lineEdit_4"/>
<item row="7" column="0">
<widget class="QLabel" name="label_8">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>增益:</string>
</property>
</widget>
</item>
<item row="5" column="0">
<item row="1" column="0">
<widget class="QLabel" name="label_6">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>图像宽度:</string>
</property>
</widget>
</item>
<item row="5" column="1" colspan="4">
<widget class="QLineEdit" name="lineEdit_5"/>
<item row="7" column="1">
<widget class="QLineEdit" name="m_Gain">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="label_7">
<widget class="QLabel" name="label_9">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>图像格式:</string>
<string>曝光</string>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QLabel" name="label_8">
<item row="6" column="1">
<widget class="QLineEdit" name="m_Expouse">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
</widget>
</item>
<item row="1" column="2" rowspan="2">
<widget class="QToolButton" name="m_pbSetRect">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>增益:</string>
<string>...</string>
</property>
</widget>
</item>
<item row="8" column="0">
<widget class="QLabel" name="label_9">
<item row="1" column="1">
<widget class="QLineEdit" name="m_ImgWidth">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_5">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>曝光:</string>
<string>图像高度</string>
</property>
</widget>
</item>
<item row="9" column="5">
<widget class="QPushButton" name="pushButton">
<item row="2" column="1">
<widget class="QLineEdit" name="m_ImgHeight">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_7">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>应用</string>
<string>图像格式:</string>
</property>
</widget>
</item>
<item row="10" column="0" colspan="2">
<widget class="QComboBox" name="comboBox_3">
<item row="3" column="1">
<widget class="QComboBox" name="m_Pixformat">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<item>
<property name="text">
<string>内触发</string>
<string>Gray8</string>
</property>
</item>
<item>
<property name="text">
<string>外触发</string>
<string>RGB32</string>
</property>
</item>
<item>
<property name="text">
<string>软触发</string>
<string/>
</property>
</item>
</widget>
</item>
<item row="10" column="2" colspan="2">
<widget class="QPushButton" name="pushButton_3">
<property name="text">
<string>打开</string>
</property>
</widget>
</layout>
</item>
<item row="10" column="4" colspan="2">
<widget class="QPushButton" name="pushButton_4">
<property name="text">
<string>触发</string>
<item row="3" column="0" colspan="3">
<widget class="Line" name="line_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="6" column="2">
<widget class="QComboBox" name="comboBox_2"/>
</item>
<item row="7" column="2" colspan="2">
<widget class="QLineEdit" name="lineEdit_6"/>
</layout>
</item>
<item row="8" column="2" colspan="2">
<widget class="QLineEdit" name="lineEdit_7"/>
<item row="3" column="0">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>

@ -505,6 +505,13 @@ void lpMainWin::INewCameraImage(const QString& camKey, QImage img)
m_ImgViewer->setInitScale(minScale-0.01);
m_ImgViewer->setImg(img);
}
if (m_CamSettingDlg)
{
if (m_CamSettingDlg->isHidden())
return;
m_CamSettingDlg->onShowImage(img);
}
}
/*多线程发送算法结果*/
@ -661,7 +668,7 @@ Q_SLOT void lpMainWin::onActionClicked()
if(m_pNet)
m_pNet->onShowIpDlg(this);
}
else if ("action_cali_raster" == strObj) {
else if ("action_cali_raster" == strObj) {//光栅测试
}
else if ("action_setting_ban" == strObj) {
@ -697,7 +704,7 @@ Q_SLOT void lpMainWin::onActionClicked()
m_pworkUI->onExec();
}
}
else if ("action_checkdata" == strObj) {
else if ("action_checkdata" == strObj) {//历史数据查询
}
else if ("action_modelmgr" == strObj) {//模板管理
@ -712,7 +719,7 @@ Q_SLOT void lpMainWin::onActionClicked()
m_pModelMgrDlg->show();
}
}
else if ("actionSystemSeting" == strObj) {
else if ("actionSystemSeting" == strObj) {//系统参数设置
if (m_pSystemSettingDlg)
{
m_pSystemSettingDlg->setParent(this);
@ -735,6 +742,7 @@ Q_SLOT void lpMainWin::onActionClicked()
m_CamSettingDlg->setWindowIcon(QIcon(":/resource/logo-8.png"));
m_CamSettingDlg->setWindowModality(Qt::ApplicationModal);
m_CamSettingDlg->setAttribute(Qt::WA_ShowModal, true);
m_CamSettingDlg->onInitWidget();
m_CamSettingDlg->show();
}
}

Loading…
Cancel
Save