1、调整接口,标定页面实现模态模式

2、ROI标定使用新的UI和操作,加入防呆设置
3、部分逻辑优化
master
bob.pan 4 years ago
parent 461c8cb20d
commit 002082174a

@ -19,10 +19,10 @@ public:
class IDetectorUI class IDetectorUI
{ {
public: public:
virtual bool ShowDeviceMgrDlg() = 0; virtual bool Initialize(IDetectorEngine* lpDE) = 0;
virtual bool ShowSolutionMgrDlg() = 0; virtual bool ShowMainFrame(class QWidget* parent = nullptr) = 0;
virtual bool ShowMainFrame() = 0; virtual void HideMainFrame() = 0;
virtual bool ShowReportView(QMap<QString, QVariant> statInfo) = 0; virtual bool IsMainFrameHidden() = 0;
}; };
@ -32,10 +32,8 @@ public:
# define LPDESIGNER_EXPORT extern "C" __declspec(dllimport) # define LPDESIGNER_EXPORT extern "C" __declspec(dllimport)
#endif #endif
typedef void(*FnLpDesignerNewInstance)(IDetectorUI **lppDetectorUI, IDetectorEngine *lpDE, IDetectorUISink* lpSink); LPDESIGNER_EXPORT IDetectorUI * Lib_Designer_Init(void);
LPDESIGNER_EXPORT void LpDesignerNewInstance(IDetectorUI **lppDetectorUI, IDetectorEngine *lpDE, IDetectorUISink* lpSink); LPDESIGNER_EXPORT void Lib_Designer_Free(IDetectorUI *ptr);
LPDESIGNER_EXPORT bool LpDesignerDeleteInstance();
#endif // LPDESIGNER_H #endif // LPDESIGNER_H

@ -1,4 +1,4 @@
[General] [General]
StationNum=2 StationNum=2
Station_1=1111 Station_1=82072D
Station_2=3D9H Station_2=82071E

@ -5,7 +5,7 @@
"board_num": 0, "board_num": 0,
"board_type": 0, "board_type": 0,
"exposure": 26000, "exposure": 26000,
"folder": ".\\testimg\\", "folder": "F:\\ValueProject\\Valve\\runner17\\testimg\\",
"format": "GRAY8", "format": "GRAY8",
"gain": 8, "gain": 8,
"height": 1944, "height": 1944,
@ -15,7 +15,7 @@
"save": 0, "save": 0,
"save_img_suffix": ".BMP", "save_img_suffix": ".BMP",
"showname": "工位2", "showname": "工位2",
"type": 120, "type": 100,
"width": 2592, "width": 2592,
"zoom": 1 "zoom": 1
}, },
@ -24,7 +24,7 @@
"board_num": 0, "board_num": 0,
"board_type": 0, "board_type": 0,
"exposure": 160000, "exposure": 160000,
"folder": "G:\\重庆捷力\\NG\\2\\PA131Q\\", "folder": "F:\\ValueProject\\Valve\\runner17\\testimg\\",
"format": "GRAY8", "format": "GRAY8",
"gain": 8, "gain": 8,
"height": 960, "height": 960,
@ -34,7 +34,7 @@
"save": 0, "save": 0,
"save_img_suffix": ".BMP", "save_img_suffix": ".BMP",
"showname": "工位1", "showname": "工位1",
"type": 140, "type": 100,
"width": 1280, "width": 1280,
"zoom": 1 "zoom": 1
} }

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -10,6 +10,14 @@ days=7
days_dir=30 days_dir=30
Enable=false Enable=false
spacesize=10 spacesize=10
Enable_RltImg=false
Enable_SrcImg=false
[TrigDetector] [TrigDetector]
FilterTime=10 FilterTime=10
[Image]
SrcImgSave_st1=false
SrcImgSave_st2=false
RltImgSave_st1=false
RltImgSave_st2=false

@ -0,0 +1,45 @@
#include "CDllDesigner.h"
#include "DllLoader.h"
CDllDesigner::CDllDesigner()
{
m_pLibDesigner = new CDllLoaderM("lpdesigner", "Lib_Designer_Init", "Lib_Designer_Free", QStringList());
if (nullptr != m_pLibDesigner)
{
m_pDesigner = (IDetectorUI *)m_pLibDesigner->ModuleInit(nullptr);
if (m_pDesigner) {
}
else {
tpDebugOut("failed to get instance from tpCoreCtrl.dll");
}
}
}
CDllDesigner::~CDllDesigner()
{
}
bool CDllDesigner::Initialize(IDetectorEngine* lpDE)
{
if (!lpDE)
return false;
if (m_pDesigner)
{
m_pDesigner->Initialize(lpDE);
}
return true;
}
IDetectorUI* CDllDesigner::GetDesignerInterface() const
{
return m_pDesigner;
}
void CDllDesigner::OnManualTrigger()
{
emit sgCloseWindow();
}

@ -0,0 +1,26 @@
#ifndef QDETECTORDESIGNERMGR_H
#define QDETECTORDESIGNERMGR_H
#include ".\lpbengine.h"
#include ".\lpdesigner.h"
#include <QObject>
class CDllDesigner : public QObject
{
Q_OBJECT
public:
CDllDesigner();
virtual ~CDllDesigner();
bool Initialize(IDetectorEngine* lpDE);
IDetectorUI * GetDesignerInterface() const;
virtual void OnManualTrigger();
signals:
void sgCloseWindow();
private:
class CDllLoaderM* m_pLibDesigner{ nullptr };
IDetectorUI *m_pDesigner{ nullptr };
};
#endif // QDETECTORDESIGNERMGR_H

@ -1,65 +0,0 @@
#include "QDetectorDesignerMgr.h"
QDetectorDesignerMgr::QDetectorDesignerMgr()
{
m_pDesigner = NULL;
m_pDE = NULL;
}
QDetectorDesignerMgr::~QDetectorDesignerMgr()
{
Quit();
}
bool QDetectorDesignerMgr::Initialize(IDetectorEngine* lpDE)
{
if (!lpDE)
return false;
m_pDE = lpDE;
#ifdef _DEBUG
m_lib.setFileName("lpdesignerd.dll");
#else
m_lib.setFileName("lpdesigner.dll");
#endif
if (!m_lib.load()) {
qDebug() << "lpdesigner lib load failed";
return false;
}
qDebug() << "lib load ok";
FnLpDesignerNewInstance pfnLpNewInstance = (FnLpDesignerNewInstance)m_lib.resolve("LpDesignerNewInstance");
if (pfnLpNewInstance)
pfnLpNewInstance(&m_pDesigner, m_pDE, nullptr);
if (!m_pDesigner)
return false;
return true;
}
IDetectorUI* QDetectorDesignerMgr::GetDesignerInterface() const
{
return m_pDesigner;
}
void QDetectorDesignerMgr::Quit()
{
if (m_pDesigner)
{
delete m_pDesigner;
m_pDesigner = NULL;
}
if (m_lib.isLoaded())
m_lib.unload();
}
void QDetectorDesignerMgr::OnManualTrigger()
{
emit sgCloseWindow();
}
void QDetectorDesignerMgr::OnSetParam(IDetectorTask* pTask)
{
//return m_pApp->SetParam(pTask);
}

@ -1,31 +0,0 @@
#ifndef QDETECTORDESIGNERMGR_H
#define QDETECTORDESIGNERMGR_H
#include ".\lpbengine.h"
#include ".\lpdesigner.h"
#include "qobject.h"
class QDetectorDesignerMgr : public QObject
{
Q_OBJECT
public:
QDetectorDesignerMgr();
virtual ~QDetectorDesignerMgr();
bool Initialize(IDetectorEngine* lpDE);
void Quit();
IDetectorUI * GetDesignerInterface() const;
virtual void OnManualTrigger();
virtual void ResetItem(QPoint pos, QRect size){}
virtual void OnSetParam(IDetectorTask* pTask);
signals:
void sgCloseWindow();
private:
private:
QLibrary m_lib;
IDetectorUI *m_pDesigner;
IDetectorEngine *m_pDE;
};
#endif // QDETECTORDESIGNERMGR_H

@ -24,26 +24,53 @@
<layout class="QGridLayout" name="gridLayout"> <layout class="QGridLayout" name="gridLayout">
<item row="0" column="0"> <item row="0" column="0">
<widget class="QLabel" name="label_2"> <widget class="QLabel" name="label_2">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>名称:</string> <string>名称:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="1" colspan="3"> <item row="0" column="1" colspan="3">
<widget class="QLineEdit" name="lineEdit"/> <widget class="QLineEdit" name="lineEdit">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
</widget>
</item> </item>
<item row="1" column="0"> <item row="1" column="0">
<widget class="QLabel" name="label_4"> <widget class="QLabel" name="label_4">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>算法库:</string> <string>算法库:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="1" colspan="2"> <item row="1" column="1" colspan="2">
<widget class="QLineEdit" name="lineEdit_4"/> <widget class="QLineEdit" name="lineEdit_4">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
</widget>
</item> </item>
<item row="1" column="3"> <item row="1" column="3">
<widget class="QPushButton" name="pushButton_4"> <widget class="QPushButton" name="pushButton_4">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>请选择</string> <string>请选择</string>
</property> </property>
@ -51,16 +78,32 @@
</item> </item>
<item row="2" column="0"> <item row="2" column="0">
<widget class="QLabel" name="label_3"> <widget class="QLabel" name="label_3">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>ROI:</string> <string>ROI:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="1" colspan="2"> <item row="2" column="1" colspan="2">
<widget class="QLineEdit" name="lineEdit_3"/> <widget class="QLineEdit" name="lineEdit_3">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
</widget>
</item> </item>
<item row="2" column="3"> <item row="2" column="3">
<widget class="QPushButton" name="pushButton_3"> <widget class="QPushButton" name="pushButton_3">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>请选择</string> <string>请选择</string>
</property> </property>
@ -68,16 +111,32 @@
</item> </item>
<item row="3" column="0"> <item row="3" column="0">
<widget class="QLabel" name="label"> <widget class="QLabel" name="label">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>描述:</string> <string>描述:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="3" column="1" colspan="3"> <item row="3" column="1" colspan="3">
<widget class="QLineEdit" name="lineEdit_2"/> <widget class="QLineEdit" name="lineEdit_2">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
</widget>
</item> </item>
<item row="4" column="0" colspan="2"> <item row="4" column="0" colspan="2">
<widget class="QPushButton" name="pushButton"> <widget class="QPushButton" name="pushButton">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>确定</string> <string>确定</string>
</property> </property>
@ -85,6 +144,11 @@
</item> </item>
<item row="4" column="2" colspan="2"> <item row="4" column="2" colspan="2">
<widget class="QPushButton" name="pushButton_2"> <widget class="QPushButton" name="pushButton_2">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>取消</string> <string>取消</string>
</property> </property>

@ -33,7 +33,8 @@
<widget class="QTableWidget" name="tableWidget"> <widget class="QTableWidget" name="tableWidget">
<property name="font"> <property name="font">
<font> <font>
<pointsize>10</pointsize> <family>Arial</family>
<pointsize>12</pointsize>
</font> </font>
</property> </property>
<column> <column>
@ -75,7 +76,7 @@
<widget class="QPushButton" name="pushButton_3"> <widget class="QPushButton" name="pushButton_3">
<property name="font"> <property name="font">
<font> <font>
<pointsize>10</pointsize> <pointsize>12</pointsize>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
@ -87,7 +88,7 @@
<widget class="QPushButton" name="pushButton_4"> <widget class="QPushButton" name="pushButton_4">
<property name="font"> <property name="font">
<font> <font>
<pointsize>10</pointsize> <pointsize>12</pointsize>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
@ -99,7 +100,7 @@
<widget class="QPushButton" name="pushButton_5"> <widget class="QPushButton" name="pushButton_5">
<property name="font"> <property name="font">
<font> <font>
<pointsize>10</pointsize> <pointsize>12</pointsize>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
@ -111,7 +112,7 @@
<widget class="QPushButton" name="pushButton_2"> <widget class="QPushButton" name="pushButton_2">
<property name="font"> <property name="font">
<font> <font>
<pointsize>10</pointsize> <pointsize>12</pointsize>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
@ -123,7 +124,7 @@
<widget class="QPushButton" name="pushButton_7"> <widget class="QPushButton" name="pushButton_7">
<property name="font"> <property name="font">
<font> <font>
<pointsize>10</pointsize> <pointsize>12</pointsize>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
@ -135,7 +136,7 @@
<widget class="QPushButton" name="pushButton_6"> <widget class="QPushButton" name="pushButton_6">
<property name="font"> <property name="font">
<font> <font>
<pointsize>10</pointsize> <pointsize>12</pointsize>
</font> </font>
</property> </property>
<property name="text"> <property name="text">

@ -0,0 +1,60 @@
#include "CDetectorUI.h"
CDetectorUI::CDetectorUI()
{
m_pMainFrame = new CMainFrame;
}
CDetectorUI::~CDetectorUI()
{
if (m_pMainFrame)
{
delete m_pMainFrame;
m_pMainFrame = nullptr;
}
if (m_pDE)
{
m_pDE = NULL;
}
}
bool CDetectorUI::Initialize(IDetectorEngine* lpDE)
{
if (!lpDE)
return false;
m_pDE = lpDE;
return true;
}
bool CDetectorUI::ShowMainFrame(class QWidget* parent)
{
if (!m_pMainFrame->Initialize(m_pDE))
return false;
if (!m_pMainFrame->InitGraphView())
return false;
m_pMainFrame->setParent(parent);
m_pMainFrame->setWindowFlags(Qt::Dialog | Qt::WindowMaximizeButtonHint | Qt::WindowCloseButtonHint);
m_pMainFrame->setWindowIcon(QIcon(":/image/leaper"));
m_pMainFrame->setWindowModality(Qt::ApplicationModal);
m_pMainFrame->setAttribute(Qt::WA_ShowModal, true);
m_pMainFrame->show();
return true;
}
void CDetectorUI::HideMainFrame()
{
m_pMainFrame->hide();
}
bool CDetectorUI::IsMainFrameHidden()
{
return m_pMainFrame->isHidden();
}

@ -9,11 +9,9 @@ public:
CDetectorUI(); CDetectorUI();
virtual ~CDetectorUI(); virtual ~CDetectorUI();
bool Initialize(IDetectorEngine* lpDE); bool Initialize(IDetectorEngine* lpDE);
virtual bool ShowDeviceMgrDlg(); virtual bool ShowMainFrame(class QWidget* parent = nullptr);
virtual bool ShowSolutionMgrDlg(); virtual void HideMainFrame();
virtual bool ShowMainFrame(); virtual bool IsMainFrameHidden();
virtual bool ShowReportView(QMap<QString, QVariant> statInfo);
private: private:
CMainFrame* m_pMainFrame{ nullptr }; CMainFrame* m_pMainFrame{ nullptr };
IDetectorEngine* m_pDE{ nullptr }; IDetectorEngine* m_pDE{ nullptr };

@ -7,7 +7,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>280</width> <width>280</width>
<height>181</height> <height>128</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@ -18,33 +18,66 @@
<layout class="QGridLayout" name="gridLayout"> <layout class="QGridLayout" name="gridLayout">
<item row="0" column="0"> <item row="0" column="0">
<widget class="QLabel" name="label"> <widget class="QLabel" name="label">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>名称:</string> <string>名称:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="1"> <item row="0" column="1">
<widget class="QLineEdit" name="lineEdit"/> <widget class="QLineEdit" name="lineEdit">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
</widget>
</item> </item>
<item row="1" column="0"> <item row="1" column="0">
<widget class="QLabel" name="label_2"> <widget class="QLabel" name="label_2">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>描述:</string> <string>描述:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="1"> <item row="1" column="1">
<widget class="QLineEdit" name="lineEdit_2"/> <widget class="QLineEdit" name="lineEdit_2">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
</widget>
</item> </item>
<item row="2" column="0"> <item row="2" column="0">
<widget class="QLabel" name="label_3"> <widget class="QLabel" name="label_3">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>类型:</string> <string>类型:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="1"> <item row="2" column="1">
<widget class="QComboBox" name="comboBox"/> <widget class="QComboBox" name="comboBox">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
</widget>
</item> </item>
</layout> </layout>
</item> </item>
@ -63,6 +96,11 @@
</item> </item>
<item row="1" column="1"> <item row="1" column="1">
<widget class="QPushButton" name="pushButton"> <widget class="QPushButton" name="pushButton">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>确定</string> <string>确定</string>
</property> </property>
@ -70,6 +108,11 @@
</item> </item>
<item row="1" column="2"> <item row="1" column="2">
<widget class="QPushButton" name="pushButton_2"> <widget class="QPushButton" name="pushButton_2">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>取消</string> <string>取消</string>
</property> </property>

@ -18,16 +18,32 @@
<layout class="QHBoxLayout" name="horizontalLayout"> <layout class="QHBoxLayout" name="horizontalLayout">
<item> <item>
<widget class="QLabel" name="label"> <widget class="QLabel" name="label">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>设备:</string> <string>设备:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QLineEdit" name="lineEdit"/> <widget class="QLineEdit" name="lineEdit">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
</widget>
</item> </item>
<item> <item>
<widget class="QPushButton" name="pushButton"> <widget class="QPushButton" name="pushButton">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>搜索</string> <string>搜索</string>
</property> </property>
@ -50,6 +66,12 @@
</item> </item>
<item> <item>
<widget class="QTableWidget" name="tableWidget"> <widget class="QTableWidget" name="tableWidget">
<property name="font">
<font>
<family>Arial</family>
<pointsize>12</pointsize>
</font>
</property>
<column> <column>
<property name="text"> <property name="text">
<string>编号</string> <string>编号</string>
@ -89,6 +111,11 @@
</item> </item>
<item> <item>
<widget class="QPushButton" name="pushButton_5"> <widget class="QPushButton" name="pushButton_5">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>确定</string> <string>确定</string>
</property> </property>
@ -96,6 +123,11 @@
</item> </item>
<item> <item>
<widget class="QPushButton" name="pushButton_6"> <widget class="QPushButton" name="pushButton_6">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>关闭</string> <string>关闭</string>
</property> </property>

@ -18,16 +18,32 @@
<layout class="QHBoxLayout" name="horizontalLayout"> <layout class="QHBoxLayout" name="horizontalLayout">
<item> <item>
<widget class="QLabel" name="label"> <widget class="QLabel" name="label">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>设备:</string> <string>设备:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QLineEdit" name="lineEdit"/> <widget class="QLineEdit" name="lineEdit">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
</widget>
</item> </item>
<item> <item>
<widget class="QPushButton" name="pushButton"> <widget class="QPushButton" name="pushButton">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>搜索</string> <string>搜索</string>
</property> </property>
@ -35,6 +51,11 @@
</item> </item>
<item> <item>
<widget class="QPushButton" name="pushButton_2"> <widget class="QPushButton" name="pushButton_2">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>应用</string> <string>应用</string>
</property> </property>
@ -44,6 +65,12 @@
</item> </item>
<item> <item>
<widget class="QTableWidget" name="tableWidget"> <widget class="QTableWidget" name="tableWidget">
<property name="font">
<font>
<family>Arial</family>
<pointsize>12</pointsize>
</font>
</property>
<column> <column>
<property name="text"> <property name="text">
<string>编号</string> <string>编号</string>
@ -83,6 +110,11 @@
</item> </item>
<item> <item>
<widget class="QPushButton" name="pushButton_3"> <widget class="QPushButton" name="pushButton_3">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>新增</string> <string>新增</string>
</property> </property>
@ -90,6 +122,11 @@
</item> </item>
<item> <item>
<widget class="QPushButton" name="pushButton_4"> <widget class="QPushButton" name="pushButton_4">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>编辑</string> <string>编辑</string>
</property> </property>
@ -97,6 +134,11 @@
</item> </item>
<item> <item>
<widget class="QPushButton" name="pushButton_5"> <widget class="QPushButton" name="pushButton_5">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>删除</string> <string>删除</string>
</property> </property>
@ -104,6 +146,11 @@
</item> </item>
<item> <item>
<widget class="QPushButton" name="pushButton_6"> <widget class="QPushButton" name="pushButton_6">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>关闭</string> <string>关闭</string>
</property> </property>

@ -42,7 +42,7 @@ static void setCursor(QGraphicsScene * scene, const QCursor & cursor)
for (int i = 0; i < views.count(); i++) for (int i = 0; i < views.count(); i++)
{ {
QGraphicsView * view = views.at(i); QGraphicsView * view = views.at(i);
if (view && (int)view->userData(0) == 1) if (view)
view->setCursor(cursor); view->setCursor(cursor);
} }
} }

@ -20,15 +20,9 @@ CDsgAlgorithmParamMgrDlg::CDsgAlgorithmParamMgrDlg(QWidget *parent) : QDialog(pa
ui->pushButton_5->setVisible(false); ui->pushButton_5->setVisible(false);
ui->pushButton_2->setVisible(false); ui->pushButton_2->setVisible(false);
ui->pushButton_7->setVisible(false); ui->pushButton_7->setVisible(false);
//ui->pushButton_6->setVisible(false);
ui->tableWidget->setContextMenuPolicy(Qt::CustomContextMenu); ui->tableWidget->setContextMenuPolicy(Qt::CustomContextMenu);
connect(ui->tableWidget, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(OnPopMenu(const QPoint&))); connect(ui->tableWidget, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(OnPopMenu(const QPoint&)));
connect(ui->tableWidget, SIGNAL(cellDoubleClicked(int, int)), this, SLOT(OnEditParam())); connect(ui->tableWidget, SIGNAL(cellDoubleClicked(int, int)), this, SLOT(OnEditParam()));
// Qt::WindowFlags flags = Qt::Dialog;
// flags |= Qt::WindowMinMaxButtonsHint;
// flags |= Qt::WindowCloseButtonHint;
// setWindowFlags(flags);
//m_tParamDlg.setParent(this);
} }
CDsgAlgorithmParamMgrDlg::~CDsgAlgorithmParamMgrDlg() CDsgAlgorithmParamMgrDlg::~CDsgAlgorithmParamMgrDlg()

@ -21,11 +21,6 @@ CDsgParamDlg::CDsgParamDlg(QWidget *parent) : QDialog(parent), m_valueCombox(thi
connect(ui->comboBox_2, SIGNAL(currentIndexChanged(int)), this, SLOT(OnChangeAlgo())); connect(ui->comboBox_2, SIGNAL(currentIndexChanged(int)), this, SLOT(OnChangeAlgo()));
connect(ui->m_pbROISet, SIGNAL(clicked()), this, SLOT(OnShowRoiDlg())); connect(ui->m_pbROISet, SIGNAL(clicked()), this, SLOT(OnShowRoiDlg()));
//Qt::WindowFlags flags = Qt::Dialog;
//flags |= Qt::WindowMinMaxButtonsHint;
//flags |= Qt::WindowCloseButtonHint;
//setWindowFlags(flags);
} }
CDsgParamDlg::~CDsgParamDlg() CDsgParamDlg::~CDsgParamDlg()

@ -51,15 +51,13 @@ CDsgRoiDlg::CDsgRoiDlg(QWidget *parent) : QDialog(parent), ui(new Ui::RoiDlg)
connect(ui->pushButton_8, SIGNAL(clicked()), this, SLOT(OnShowColorDlg())); connect(ui->pushButton_8, SIGNAL(clicked()), this, SLOT(OnShowColorDlg()));
ui->pushButton_8->setAutoDefault(false); ui->pushButton_8->setAutoDefault(false);
connect(ui->pushButton_9, SIGNAL(clicked()), this, SLOT(OnSetItem())); connect(ui->m_pbUp, SIGNAL(clicked()), this, SLOT(OnMove()));
connect(ui->m_pbLeft, SIGNAL(clicked()), this, SLOT(OnMove()));
connect(ui->m_pbRight, SIGNAL(clicked()), this, SLOT(OnMove()));
connect(ui->m_pbDown, SIGNAL(clicked()), this, SLOT(OnMove()));
connect(ui->pushButton_10, SIGNAL(clicked()), this, SLOT(OnMove())); //connect(ui->pushButton_14, SIGNAL(clicked()), this, SLOT(OnSelectImage()));
connect(ui->pushButton_11, SIGNAL(clicked()), this, SLOT(OnMove())); //connect(ui->pushButton_15, SIGNAL(clicked()), this, SLOT(OnSnapCameraImage()));
connect(ui->pushButton_12, SIGNAL(clicked()), this, SLOT(OnMove()));
connect(ui->pushButton_13, SIGNAL(clicked()), this, SLOT(OnMove()));
connect(ui->pushButton_14, SIGNAL(clicked()), this, SLOT(OnSelectImage()));
connect(ui->pushButton_15, SIGNAL(clicked()), this, SLOT(OnSnapCameraImage()));
connect(ui->pushButton_16, SIGNAL(clicked()), this, SLOT(OnZoomOut())); connect(ui->pushButton_16, SIGNAL(clicked()), this, SLOT(OnZoomOut()));
connect(ui->pushButton_17, SIGNAL(clicked()), this, SLOT(OnZoomIn())); connect(ui->pushButton_17, SIGNAL(clicked()), this, SLOT(OnZoomIn()));
@ -68,13 +66,30 @@ CDsgRoiDlg::CDsgRoiDlg(QWidget *parent) : QDialog(parent), ui(new Ui::RoiDlg)
connect(ui->pushButton_5, SIGNAL(clicked()), this, SLOT(OnShowTenFlag())); connect(ui->pushButton_5, SIGNAL(clicked()), this, SLOT(OnShowTenFlag()));
ui->pushButton_5->setText(QObject::tr("显示定位线")); ui->pushButton_5->setText(QObject::tr("显示定位线"));
m_pRoiScene = new RoiScene(this); m_pRoiScene = new RoiScene(this);
//m_pRoiScene->SetRoiDlg(this);
m_pRoiScene->SetGraphicsView(ui->graphicsView); m_pRoiScene->SetGraphicsView(ui->graphicsView);
m_pRoiScene->SetInfoLable(ui->label_pixel_info); m_pRoiScene->SetInfoLable(ui->label_pixel_info);
// Qt::WindowFlags flags = Qt::Dialog;
// flags |= Qt::WindowMinMaxButtonsHint; /*开启按钮长按功能*/
// flags |= Qt::WindowCloseButtonHint; ui->m_pbUp->setAutoRepeat(true);
// setWindowFlags(flags); ui->m_pbUp->setAutoRepeatDelay(400);
ui->m_pbUp->setAutoRepeatInterval(50);
ui->m_pbLeft->setAutoRepeat(true);
ui->m_pbLeft->setAutoRepeatDelay(400);
ui->m_pbLeft->setAutoRepeatInterval(50);
ui->m_pbRight->setAutoRepeat(true);
ui->m_pbRight->setAutoRepeatDelay(400);
ui->m_pbRight->setAutoRepeatInterval(50);
ui->m_pbDown->setAutoRepeat(true);
ui->m_pbDown->setAutoRepeatDelay(400);
ui->m_pbDown->setAutoRepeatInterval(50);
int slide = SystemStateInfo::setIni.value("sliderValue", 1).toInt();
ui->horizontalSlider->setValue(slide);
connect(ui->horizontalSlider, SIGNAL(valueChanged(int)), this, SLOT(onSliderChange(int)));
} }
CDsgRoiDlg::~CDsgRoiDlg() CDsgRoiDlg::~CDsgRoiDlg()
@ -176,10 +191,8 @@ void CDsgRoiDlg::OnShowColorDlg()
QColor color = QColorDialog::getColor(Qt::black,this,QString("select color")); QColor color = QColorDialog::getColor(Qt::black,this,QString("select color"));
if (color.rgb() == QColor(0, 0, 0).rgb()) if (color.rgb() == QColor(0, 0, 0).rgb())
return ; return ;
QString strRGB = QString("(%1,%2,%3)").arg(QString::number(color.red()), QString::number(color.green()), QString::number(color.blue()));
ui->lineEdit_3->setText(strRGB);
QString strStyle = QString("background-color:rgba(%1,%2,%3,255);").arg(color.red()).arg(color.green()).arg(color.blue()); QString strStyle = QString("background-color:rgba(%1,%2,%3,255);").arg(color.red()).arg(color.green()).arg(color.blue());
ui->lineEdit_3->setStyleSheet(strStyle); ui->labelColor->setStyleSheet(strStyle);
SystemStateInfo::rgb = color.rgb(); SystemStateInfo::rgb = color.rgb();
return; return;
} }
@ -246,11 +259,9 @@ LP_DETECTOR_ROI_DATA CDsgRoiDlg::ShowRoiDlg(LP_DETECTOR_ROI_DATA roiData)
if (SystemStateInfo::rgb == 0) if (SystemStateInfo::rgb == 0)
SystemStateInfo::rgb = QColor(255, 0, 0).rgb(); SystemStateInfo::rgb = QColor(255, 0, 0).rgb();
QColor color(SystemStateInfo::rgb); QColor color(SystemStateInfo::rgb);
QString strRGB = QString("(%1,%2,%3)").arg(QString::number(color.red()), QString::number(color.green()), QString::number(color.blue()));
ui->lineEdit_3->setText(strRGB);
QString strStyle = QString("background-color:rgba(%1,%2,%3,255);").arg(color.red()).arg(color.green()).arg(color.blue()); QString strStyle = QString("background-color:rgba(%1,%2,%3,255);").arg(color.red()).arg(color.green()).arg(color.blue());
ui->lineEdit_3->setStyleSheet(strStyle); ui->labelColor->setStyleSheet(strStyle);
QDesktopWidget* desktop = QApplication::desktop();// QDesktopWidget* desktop = QApplication::desktop();//
move((desktop->width() - this->width()) / 2, (desktop->height() - this->height()) / 2); move((desktop->width() - this->width()) / 2, (desktop->height() - this->height()) / 2);
@ -474,99 +485,31 @@ void CDsgRoiDlg::OnMove()
{ {
if (!m_pRoiScene) if (!m_pRoiScene)
return; return;
int step = ui->horizontalSlider->value();
if (sender()->objectName() == "pushButton_10") if (sender()->objectName() == "m_pbLeft")
{ {
m_pRoiScene->MoveSelectedItem(LEFT); m_pRoiScene->MoveSelectedItem(LEFT, step);
} }
else if (sender()->objectName() == "pushButton_11") else if (sender()->objectName() == "m_pbUp")
{ {
m_pRoiScene->MoveSelectedItem(UP); m_pRoiScene->MoveSelectedItem(UP, step);
} }
else if (sender()->objectName() == "pushButton_12") else if (sender()->objectName() == "m_pbRight")
{ {
m_pRoiScene->MoveSelectedItem(RIGHT); m_pRoiScene->MoveSelectedItem(RIGHT, step);
} }
else if (sender()->objectName() == "pushButton_13") else if (sender()->objectName() == "m_pbDown")
{ {
m_pRoiScene->MoveSelectedItem(DOWN); m_pRoiScene->MoveSelectedItem(DOWN, step);
} }
} }
void CDsgRoiDlg::OnSetItem()
{
//QList<QGraphicsItem *> items = m_pTaskScene->items();
//GraphicsItem *item1;
//GraphicsItem *item2;
//int nSize = items.size();
//for (int i = 0; i < nSize; i++)
//{
// GraphicsItem *item = qgraphicsitem_cast<GraphicsItem*>(items.at(i));
// if (item && item->GetType() == GraphicsRect)
// {
//
// item1 = item;
// }
// if (item && item->GetType() == GraphicsCircle)
// {
// item2 = item;
// }
//}
//QList<QGraphicsItem *> temp1 = item1->collidingItems(Qt::ContainsItemShape);
// int b = temp1.size();
//for (int k = 0; k < b; k++)
//{
// int aa = temp1.at(k)->type();
// int bb = temp1.at(k)->Type;
//}
//QList<QGraphicsItem *> temp2 = item2->collidingItems(Qt::ContainsItemShape);
//int c = temp2.size();
//bool bRet1 = item1->collidesWithItem(item2, Qt::ContainsItemShape);
//bool bRet2 = item2->collidesWithItem(item1, Qt::ContainsItemShape);
//QPointF pos1 = item1->pos();
//QPointF pos2 = item2->pos();
//int a = 0;
QPoint pos;
QRect size;
pos.setX(ui->lineEdit_4->text().toInt() - m_pRoiScene->GetOffSet().x());
pos.setY(ui->lineEdit_5->text().toInt() - m_pRoiScene->GetOffSet().y());
size.setWidth(ui->lineEdit_6->text().toInt());
size.setHeight(ui->lineEdit_7->text().toInt());
m_pRoiScene->SetSelectedItem(pos, size);
}
void CDsgRoiDlg::ResetItem(QPoint pos, QRect size)
{
ui->lineEdit_4->clear();
ui->lineEdit_5->clear();
ui->lineEdit_6->clear();
ui->lineEdit_7->clear();
ui->lineEdit_4->setText(QString::number(pos.x()));
ui->lineEdit_5->setText(QString::number(pos.y()));
ui->lineEdit_6->setText(QString::number(size.width()));
ui->lineEdit_7->setText(QString::number(size.height()));
}
void CDsgRoiDlg::showEvent(QShowEvent *evt) void CDsgRoiDlg::showEvent(QShowEvent *evt)
{ {
m_pRoiScene->Initialize(m_tempRoiData); m_pRoiScene->Initialize(m_tempRoiData);
m_pRoiScene->DisableMenu(false); m_pRoiScene->DisableMenu(false);
ui->lineEdit_4->clear();
ui->lineEdit_5->clear();
ui->lineEdit_6->clear();
ui->lineEdit_7->clear();
} }
void CDsgRoiDlg::OnZoomIn() void CDsgRoiDlg::OnZoomIn()
@ -578,3 +521,17 @@ void CDsgRoiDlg::OnZoomOut()
{ {
m_pRoiScene->zoomImage(false); m_pRoiScene->zoomImage(false);
} }
Q_SLOT void CDsgRoiDlg::onSliderChange(int value)
{
SystemStateInfo::setIni.setValue(QStringLiteral("sliderValue"), value);
}
void CDsgRoiDlg::changeEvent(QEvent *event)
{
if (event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
}
}

@ -20,14 +20,10 @@ public:
bool InitGraphView(); bool InitGraphView();
LP_DETECTOR_ROI_DATA ShowRoiDlg(LP_DETECTOR_ROI_DATA roiData); LP_DETECTOR_ROI_DATA ShowRoiDlg(LP_DETECTOR_ROI_DATA roiData);
void CleanUp(); void CleanUp();
bool FillRoi(LP_DETECTOR_ROI_DATA& roiData); bool FillRoi(LP_DETECTOR_ROI_DATA& roiData);
virtual void ResetItem(QPoint pos, QRect size);
virtual void OnManualTrigger(){} virtual void OnManualTrigger(){}
virtual void OnSetParam(IDetectorTask* pTask){} virtual void OnSetParam(IDetectorTask* pTask){}
virtual void showEvent(QShowEvent *evt); Q_SLOT void onSliderChange(int value);
signals: signals:
void sgShowCameraImage(QImage); void sgShowCameraImage(QImage);
public slots : public slots :
@ -38,16 +34,15 @@ public slots :
void OnCircle(); void OnCircle();
void OnShowColorDlg(); void OnShowColorDlg();
void OnMove(); void OnMove();
void OnSetItem();
void OnZoomIn(); void OnZoomIn();
void OnZoomOut(); void OnZoomOut();
void OnSelectImage(); void OnSelectImage();
void OnSnapCameraImage(); void OnSnapCameraImage();
void OnShowCameraImage(QImage img); void OnShowCameraImage(QImage img);
void OnShowTenFlag(); void OnShowTenFlag();
protected:
virtual void showEvent(QShowEvent *evt);
virtual void changeEvent(QEvent *event);
private: private:
Ui::RoiDlg *ui; Ui::RoiDlg *ui;

@ -1,56 +0,0 @@
#include "LPDsg.h"
CDetectorUI::CDetectorUI()
{
m_pMainFrame = new CMainFrame;
}
CDetectorUI::~CDetectorUI()
{
if (m_pMainFrame)
{
delete m_pMainFrame;
m_pMainFrame = nullptr;
}
if (m_pDE)
{
m_pDE = NULL;
}
}
bool CDetectorUI::Initialize(IDetectorEngine* lpDE)
{
if (!lpDE)
return false;
m_pDE = lpDE;
return true;
}
bool CDetectorUI::ShowDeviceMgrDlg()
{
return true;
}
bool CDetectorUI::ShowSolutionMgrDlg()
{
return true;
}
bool CDetectorUI::ShowMainFrame()
{
if (!m_pMainFrame->Initialize(m_pDE))
return false;
if (!m_pMainFrame->InitGraphView())
return false;
m_pMainFrame->show();
return true;
}
bool CDetectorUI::ShowReportView(QMap<QString, QVariant> statInfo)
{
return true;
}

@ -145,7 +145,7 @@ CMainFrame::CMainFrame(QWidget *parent)
connect(ui->pushButton_5, SIGNAL(clicked()), this, SLOT(OnClearResult())); connect(ui->pushButton_5, SIGNAL(clicked()), this, SLOT(OnClearResult()));
connect(ui->pushButton_8, SIGNAL(clicked()), this, SLOT(OnSnapImage())); connect(ui->pushButton_8, SIGNAL(clicked()), this, SLOT(OnSnapImage()));
connect(ui->m_pbLoadImage, SIGNAL(clicked()), this, SLOT(onButtonClicked()));
//connect(ui->menubar, SIGNAL(triggered(QAction *)), this, SLOT(OnMainMenuTrigger(QAction*))); //connect(ui->menubar, SIGNAL(triggered(QAction *)), this, SLOT(OnMainMenuTrigger(QAction*)));
connect(ui->m_pbSaveBtn, SIGNAL(clicked()), this, SLOT(OnTrigger())); connect(ui->m_pbSaveBtn, SIGNAL(clicked()), this, SLOT(OnTrigger()));
connect(this, SIGNAL(sgShowStatus(QString)), this, SLOT(OnShowStatus(QString))); connect(this, SIGNAL(sgShowStatus(QString)), this, SLOT(OnShowStatus(QString)));
@ -165,10 +165,6 @@ CMainFrame::CMainFrame(QWidget *parent)
ui->statusBar->addWidget(m_plablStatus); ui->statusBar->addWidget(m_plablStatus);
_pSaveStatus = ui->label_SaveStatus; _pSaveStatus = ui->label_SaveStatus;
// m_tParamMgrDlg.setParent(this);
// m_tParamMgrDlg.setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint);
//m_tParamDlg.setParent(parent);
//m_tParamDlg.setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint);
} }
CMainFrame::~CMainFrame() CMainFrame::~CMainFrame()
@ -201,11 +197,9 @@ bool CMainFrame::OnMainMenuTrigger(QAction* pAction)
m_TaskChangeList.clear(); m_TaskChangeList.clear();
return true; return true;
} }
return false; return false;
} }
} }
return false; return false;
} }
@ -482,7 +476,15 @@ bool CMainFrame::InitCurrentTask()
std::string strPath = strImageName.toLocal8Bit().toStdString(); std::string strPath = strImageName.toLocal8Bit().toStdString();
m_pCurrentTask->GetTaskInfo()->templateImg = cv::imread(strPath, CV_LOAD_IMAGE_GRAYSCALE); m_pCurrentTask->GetTaskInfo()->templateImg = cv::imread(strPath, CV_LOAD_IMAGE_GRAYSCALE);
} }
ColossusBase::showImage(m_pCurrentTask->GetTaskInfo()->templateImg, ui->gv_input); if (m_pCurrentTask->GetTaskInfo()->templateImg.data == NULL)
{
QImage img(":/resource/no-img.png");
ui->gv_input->setImg(img);
}
else
{
ColossusBase::showImage(m_pCurrentTask->GetTaskInfo()->templateImg, ui->gv_input);
}
} }
return true; return true;
@ -510,27 +512,6 @@ bool CMainFrame::InitCurrentSolution(QTreeWidgetItem* pItem, IDetectorSolution*
} }
} }
// int nTaskCount = pSolution->EnumTask(NULL, 0);
// if (nTaskCount > 0)
// {
// IDetectorTask** lppTask = new IDetectorTask*[nTaskCount];
// nTaskCount = pSolution->EnumTask(lppTask, nTaskCount);
// for (int i = 0; i < nTaskCount; i++)
// {
// if (lppTask[i])
// {
// PLP_DETECTOR_TASK pTaskInfo = lppTask[i]->GetTaskInfo();
//
// QTreeWidgetItem *TaskItem = new QTreeWidgetItem(pItem, QStringList(pTaskInfo->strName));
// TaskItem->setData(0, Qt::UserRole, lppTask[i]->GetID());
// TaskItem->setData(1, Qt::UserRole, Task);
//
// pItem->addChild(TaskItem);
// }
// }
//
// delete[] lppTask;
// }
return true; return true;
} }
@ -593,17 +574,12 @@ bool CMainFrame::OnBatchLoadImage(bool bReLoad)
return false; return false;
} }
{
}
ui->listWidget->clear(); ui->listWidget->clear();
ui->listWidget->setSpacing(12); ui->listWidget->setSpacing(12);
ui->listWidget->setMovement(QListView::Static); ui->listWidget->setMovement(QListView::Static);
ui->listWidget->setViewMode(QListView::IconMode); ui->listWidget->setViewMode(QListView::IconMode);
ui->listWidget->setWrapping(false); ui->listWidget->setWrapping(false);
ui->listWidget->setFlow(QListView::LeftToRight); ui->listWidget->setFlow(QListView::LeftToRight);
// ui->listWidget->setIconSize(QSize(75, 75));
for (int i = 0; i < strFileNamesList.size(); i++) for (int i = 0; i < strFileNamesList.size(); i++)
{ {
@ -615,7 +591,6 @@ bool CMainFrame::OnBatchLoadImage(bool bReLoad)
QString strFileName = strFileNamesList[0]; QString strFileName = strFileNamesList[0];
std::string strpath = strFileName.toLocal8Bit().toStdString();//中文路径支持 std::string strpath = strFileName.toLocal8Bit().toStdString();//中文路径支持
//cv::Mat m_img = cv::imread(strpath, CV_LOAD_IMAGE_UNCHANGED);
m_pCurrentTask->GetTaskInfo()->templateImg = cv::imread(strpath, CV_LOAD_IMAGE_GRAYSCALE); m_pCurrentTask->GetTaskInfo()->templateImg = cv::imread(strpath, CV_LOAD_IMAGE_GRAYSCALE);
oldMat = m_pCurrentTask->GetTaskInfo()->templateImg; oldMat = m_pCurrentTask->GetTaskInfo()->templateImg;
if (ColossusBase::showImage(m_pCurrentTask->GetTaskInfo()->templateImg, ui->gv_input)) if (ColossusBase::showImage(m_pCurrentTask->GetTaskInfo()->templateImg, ui->gv_input))
@ -750,8 +725,6 @@ bool CMainFrame::OnParamPopMenu(const QPoint& points)
QAction *updateRelyOnAlgoAciton = menu.addAction(QObject::tr("更新关联算法参数")); QAction *updateRelyOnAlgoAciton = menu.addAction(QObject::tr("更新关联算法参数"));
updateRelyOnAlgoAciton->setObjectName("updateRelyOnAlgoAciton"); updateRelyOnAlgoAciton->setObjectName("updateRelyOnAlgoAciton");
QAction *selectedAction = menu.exec(QCursor::pos()); QAction *selectedAction = menu.exec(QCursor::pos());
if (!selectedAction) if (!selectedAction)
{ {
@ -966,7 +939,6 @@ bool CMainFrame::OnSetOutParam()
return false; return false;
m_tParamMgrDlg.ShowParamMgrDlg(pAlgo); m_tParamMgrDlg.ShowParamMgrDlg(pAlgo);
//m_tParamMgrDlg.exec();
} }
} }
@ -1301,10 +1273,8 @@ void CMainFrame::OnClearResult()
ui->textEdit->clear(); ui->textEdit->clear();
} }
bool CMainFrame::OnInitCurrentAlgoParam() bool CMainFrame::OnInitCurrentAlgoParam()
{ {
if (!ui->tableWidget) if (!ui->tableWidget)
return false; return false;
@ -1880,3 +1850,20 @@ void CMainFrame::closeEvent(QCloseEvent *event)
//OnManualTrigger(); //OnManualTrigger();
QMainWindow::closeEvent(event); QMainWindow::closeEvent(event);
} }
void CMainFrame::changeEvent(QEvent *event)
{
if (event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
}
}
Q_SLOT void CMainFrame::onButtonClicked()
{
QString strObj = sender()->objectName();
if (strObj == "m_pbLoadImage")
{
OnBatchLoadImage();
}
}

@ -41,7 +41,8 @@ public:
QString genInfo(); QString genInfo();
virtual void closeEvent(QCloseEvent *event);
Q_SLOT void onButtonClicked();
QString GetParamTypeStr(AlgoParamType type); QString GetParamTypeStr(AlgoParamType type);
signals: signals:
void sgShowStatus(QString); void sgShowStatus(QString);
@ -94,6 +95,9 @@ public slots:
void OnShowCameraImage(QImage img); void OnShowCameraImage(QImage img);
protected:
virtual void closeEvent(QCloseEvent *event);
virtual void changeEvent(QEvent *event);
private: private:
Ui::MainFrame *ui{ nullptr }; Ui::MainFrame *ui{ nullptr };
CDsgAlgoDlg m_tAlgoDlg; CDsgAlgoDlg m_tAlgoDlg;

@ -9,8 +9,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>963</width> <width>1011</width>
<height>664</height> <height>712</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@ -39,20 +39,20 @@
<widget class="QPushButton" name="m_pbSaveBtn"> <widget class="QPushButton" name="m_pbSaveBtn">
<property name="font"> <property name="font">
<font> <font>
<pointsize>11</pointsize> <pointsize>12</pointsize>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>保存</string> <string>保存</string>
</property> </property>
<property name="icon"> <property name="icon">
<iconset resource="../src/lpbdesigner/image.qrc"> <iconset resource="image.qrc">
<normaloff>:/img/resource/save.png</normaloff>:/img/resource/save.png</iconset> <normaloff>:/resource/save.png</normaloff>:/resource/save.png</iconset>
</property> </property>
<property name="iconSize"> <property name="iconSize">
<size> <size>
<width>20</width> <width>32</width>
<height>20</height> <height>32</height>
</size> </size>
</property> </property>
<property name="flat"> <property name="flat">
@ -84,14 +84,26 @@
</item> </item>
<item row="1" column="0"> <item row="1" column="0">
<widget class="QSplitter" name="splitter_3"> <widget class="QSplitter" name="splitter_3">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>8</verstretch>
</sizepolicy>
</property>
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<widget class="LpTreeWidget" name="treeWidget"> <widget class="LpTreeWidget" name="treeWidget">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>3</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font"> <property name="font">
<font> <font>
<family>Consolas</family> <family>Arial</family>
<pointsize>11</pointsize> <pointsize>12</pointsize>
</font> </font>
</property> </property>
<column> <column>
@ -101,6 +113,12 @@
</column> </column>
</widget> </widget>
<widget class="QSplitter" name="splitter_2"> <widget class="QSplitter" name="splitter_2">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
<horstretch>7</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Vertical</enum>
</property> </property>
@ -142,6 +160,11 @@
<height>200</height> <height>200</height>
</size> </size>
</property> </property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="verticalScrollBarPolicy"> <property name="verticalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum> <enum>Qt::ScrollBarAlwaysOff</enum>
</property> </property>
@ -161,6 +184,11 @@
<height>200</height> <height>200</height>
</size> </size>
</property> </property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="verticalScrollBarPolicy"> <property name="verticalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum> <enum>Qt::ScrollBarAlwaysOff</enum>
</property> </property>
@ -181,6 +209,11 @@
</property> </property>
<item> <item>
<widget class="QGroupBox" name="groupBox"> <widget class="QGroupBox" name="groupBox">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="title"> <property name="title">
<string>导入图片:</string> <string>导入图片:</string>
</property> </property>
@ -215,9 +248,29 @@
<layout class="QHBoxLayout" name="horizontalLayout"> <layout class="QHBoxLayout" name="horizontalLayout">
<item> <item>
<widget class="QPushButton" name="pushButton_8"> <widget class="QPushButton" name="pushButton_8">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>拍摄</string> <string>拍摄</string>
</property> </property>
<property name="icon">
<iconset resource="image.qrc">
<normaloff>:/resource/video-on.png</normaloff>:/resource/video-on.png</iconset>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="m_pbLoadImage">
<property name="text">
<string>加载标定图</string>
</property>
<property name="icon">
<iconset resource="image.qrc">
<normaloff>:/resource/img.png</normaloff>:/resource/img.png</iconset>
</property>
</widget> </widget>
</item> </item>
<item> <item>
@ -235,15 +288,30 @@
</item> </item>
<item> <item>
<widget class="QPushButton" name="pushButton_next"> <widget class="QPushButton" name="pushButton_next">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>&gt;</string> <string/>
</property>
<property name="icon">
<iconset resource="image.qrc">
<normaloff>:/resource/right_more.png</normaloff>:/resource/right_more.png</iconset>
</property> </property>
</widget> </widget>
</item> </item>
</layout> </layout>
</item> </item>
<item row="0" column="0" colspan="2"> <item row="0" column="0" colspan="2">
<widget class="QListWidget" name="listWidget"/> <widget class="QListWidget" name="listWidget">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
</widget>
</item> </item>
</layout> </layout>
</item> </item>
@ -252,6 +320,11 @@
</item> </item>
<item> <item>
<widget class="QGroupBox" name="groupBox_3"> <widget class="QGroupBox" name="groupBox_3">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="title"> <property name="title">
<string>输出结果:</string> <string>输出结果:</string>
</property> </property>
@ -269,7 +342,13 @@
<number>2</number> <number>2</number>
</property> </property>
<item row="0" column="0"> <item row="0" column="0">
<widget class="QTextEdit" name="textEdit"/> <widget class="QTextEdit" name="textEdit">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
</widget>
</item> </item>
<item row="1" column="0"> <item row="1" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_6"> <layout class="QHBoxLayout" name="horizontalLayout_6">
@ -288,6 +367,11 @@
</item> </item>
<item> <item>
<widget class="QPushButton" name="pushButton_5"> <widget class="QPushButton" name="pushButton_5">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>清空结果</string> <string>清空结果</string>
</property> </property>
@ -304,6 +388,11 @@
</item> </item>
<item row="0" column="0"> <item row="0" column="0">
<widget class="QLabel" name="label_pixel_info"> <widget class="QLabel" name="label_pixel_info">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>Pixel info: ...</string> <string>Pixel info: ...</string>
</property> </property>
@ -356,8 +445,8 @@
<widget class="QTableWidget" name="tableWidget_2"> <widget class="QTableWidget" name="tableWidget_2">
<property name="font"> <property name="font">
<font> <font>
<family>Consolas</family> <family>Arial</family>
<pointsize>11</pointsize> <pointsize>12</pointsize>
</font> </font>
</property> </property>
<column> <column>
@ -402,8 +491,8 @@
<widget class="QTableWidget" name="tableWidget"> <widget class="QTableWidget" name="tableWidget">
<property name="font"> <property name="font">
<font> <font>
<family>Consolas</family> <family>Arial</family>
<pointsize>11</pointsize> <pointsize>12</pointsize>
</font> </font>
</property> </property>
<column> <column>
@ -441,7 +530,7 @@
<widget class="QStatusBar" name="statusBar"/> <widget class="QStatusBar" name="statusBar"/>
<action name="actionTest"> <action name="actionTest">
<property name="icon"> <property name="icon">
<iconset theme="1" resource="../src/lpbdesigner/image.qrc"> <iconset theme="1">
<normaloff>:/img/resource/save.png</normaloff>:/img/resource/save.png</iconset> <normaloff>:/img/resource/save.png</normaloff>:/img/resource/save.png</iconset>
</property> </property>
<property name="text"> <property name="text">
@ -462,7 +551,7 @@
</customwidget> </customwidget>
</customwidgets> </customwidgets>
<resources> <resources>
<include location="../src/lpbdesigner/image.qrc"/> <include location="image.qrc"/>
</resources> </resources>
<connections/> <connections/>
</ui> </ui>

@ -10,7 +10,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>279</width> <width>279</width>
<height>294</height> <height>298</height>
</rect> </rect>
</property> </property>
<property name="font"> <property name="font">
@ -44,6 +44,7 @@
<property name="font"> <property name="font">
<font> <font>
<family>Arial</family> <family>Arial</family>
<pointsize>12</pointsize>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
@ -59,6 +60,7 @@
<property name="font"> <property name="font">
<font> <font>
<family>Arial</family> <family>Arial</family>
<pointsize>12</pointsize>
</font> </font>
</property> </property>
</widget> </widget>
@ -74,6 +76,7 @@
<property name="font"> <property name="font">
<font> <font>
<family>Arial</family> <family>Arial</family>
<pointsize>12</pointsize>
</font> </font>
</property> </property>
<item> <item>
@ -88,6 +91,7 @@
<property name="font"> <property name="font">
<font> <font>
<family>Arial</family> <family>Arial</family>
<pointsize>12</pointsize>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
@ -109,6 +113,7 @@
<property name="font"> <property name="font">
<font> <font>
<family>Arial</family> <family>Arial</family>
<pointsize>12</pointsize>
</font> </font>
</property> </property>
</widget> </widget>
@ -118,6 +123,7 @@
<property name="font"> <property name="font">
<font> <font>
<family>Arial</family> <family>Arial</family>
<pointsize>12</pointsize>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
@ -133,6 +139,7 @@
<property name="font"> <property name="font">
<font> <font>
<family>Arial</family> <family>Arial</family>
<pointsize>12</pointsize>
</font> </font>
</property> </property>
</widget> </widget>
@ -142,6 +149,7 @@
<property name="font"> <property name="font">
<font> <font>
<family>Arial</family> <family>Arial</family>
<pointsize>12</pointsize>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
@ -163,6 +171,7 @@
<property name="font"> <property name="font">
<font> <font>
<family>Arial</family> <family>Arial</family>
<pointsize>12</pointsize>
</font> </font>
</property> </property>
</widget> </widget>
@ -172,6 +181,7 @@
<property name="font"> <property name="font">
<font> <font>
<family>Arial</family> <family>Arial</family>
<pointsize>12</pointsize>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
@ -187,6 +197,7 @@
<property name="font"> <property name="font">
<font> <font>
<family>Arial</family> <family>Arial</family>
<pointsize>12</pointsize>
</font> </font>
</property> </property>
</widget> </widget>
@ -196,6 +207,7 @@
<property name="font"> <property name="font">
<font> <font>
<family>Arial</family> <family>Arial</family>
<pointsize>12</pointsize>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
@ -211,6 +223,7 @@
<property name="font"> <property name="font">
<font> <font>
<family>Arial</family> <family>Arial</family>
<pointsize>12</pointsize>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
@ -223,6 +236,7 @@
<property name="font"> <property name="font">
<font> <font>
<family>Arial</family> <family>Arial</family>
<pointsize>12</pointsize>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
@ -253,6 +267,7 @@
<property name="font"> <property name="font">
<font> <font>
<family>Arial</family> <family>Arial</family>
<pointsize>12</pointsize>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
@ -288,6 +303,7 @@
<property name="font"> <property name="font">
<font> <font>
<family>Arial</family> <family>Arial</family>
<pointsize>12</pointsize>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
@ -306,6 +322,7 @@
<property name="font"> <property name="font">
<font> <font>
<family>Arial</family> <family>Arial</family>
<pointsize>12</pointsize>
</font> </font>
</property> </property>
<property name="text"> <property name="text">

@ -9,8 +9,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>816</width> <width>891</width>
<height>590</height> <height>574</height>
</rect> </rect>
</property> </property>
<property name="font"> <property name="font">
@ -21,449 +21,396 @@
<property name="windowTitle"> <property name="windowTitle">
<string>ROI检测区域配置</string> <string>ROI检测区域配置</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout_3"> <layout class="QGridLayout" name="gridLayout">
<property name="leftMargin"> <item row="0" column="0">
<number>1</number> <widget class="QGroupBox" name="groupBox">
</property> <property name="font">
<property name="topMargin"> <font>
<number>1</number> <pointsize>12</pointsize>
</property> </font>
<property name="rightMargin">
<number>1</number>
</property>
<property name="bottomMargin">
<number>1</number>
</property>
<item row="1" column="0">
<spacer name="horizontalSpacer_5">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="title">
<size> <string>绘图区域:</string>
<width>649</width>
<height>27</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="pushButton">
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="text">
<string>确定</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout_3">
<property name="leftMargin">
<number>2</number>
</property>
<property name="topMargin">
<number>2</number>
</property>
<property name="rightMargin">
<number>2</number>
</property>
<property name="bottomMargin">
<number>2</number>
</property>
<item row="1" column="0">
<widget class="QGraphicsView" name="graphicsView">
<property name="transformationAnchor">
<enum>QGraphicsView::AnchorUnderMouse</enum>
</property>
<property name="resizeAnchor">
<enum>QGraphicsView::AnchorUnderMouse</enum>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_pixel_info">
<property name="font">
<font>
<family>Arial</family>
<pointsize>12</pointsize>
<weight>50</weight>
<bold>false</bold>
</font>
</property>
<property name="text">
<string>Pixel info: </string>
</property>
</widget>
</item>
</layout>
</widget> </widget>
</item> </item>
<item row="1" column="2"> <item row="0" column="1">
<widget class="QPushButton" name="pushButton_2"> <widget class="QGroupBox" name="groupBox_2">
<property name="minimumSize"> <property name="maximumSize">
<size> <size>
<width>0</width> <width>140</width>
<height>30</height> <height>16777215</height>
</size> </size>
</property> </property>
<property name="text"> <property name="font">
<string>取消</string> <font>
<pointsize>12</pointsize>
</font>
</property> </property>
</widget> <property name="title">
</item> <string>工具</string>
<item row="0" column="0" colspan="3">
<widget class="QSplitter" name="splitter">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property> </property>
<widget class="QGroupBox" name="groupBox_2"> <layout class="QVBoxLayout" name="verticalLayout_2">
<property name="maximumSize"> <property name="leftMargin">
<size> <number>2</number>
<width>140</width>
<height>16777215</height>
</size>
</property> </property>
<property name="font"> <property name="topMargin">
<font> <number>2</number>
<pointsize>10</pointsize>
</font>
</property> </property>
<property name="title"> <property name="rightMargin">
<string>工具</string> <number>2</number>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_2"> <property name="bottomMargin">
<property name="leftMargin"> <number>2</number>
<number>2</number>
</property>
<property name="topMargin">
<number>2</number>
</property>
<property name="rightMargin">
<number>2</number>
</property>
<property name="bottomMargin">
<number>2</number>
</property>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QLineEdit" name="lineEdit_3">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>50</width>
<height>16777215</height>
</size>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_8">
<property name="maximumSize">
<size>
<width>80</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>颜色</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_6">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<widget class="QPushButton" name="pushButton_7">
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>130</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>圆</string>
</property>
</widget>
</item>
<item>
<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>
<item>
<widget class="QPushButton" name="pushButton_5">
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="text">
<string>十字标定线</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QGroupBox" name="groupBox">
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property> </property>
<property name="title"> <item>
<string>绘图区域:</string> <layout class="QHBoxLayout" name="horizontalLayout_2">
</property> <item>
<layout class="QVBoxLayout" name="verticalLayout"> <widget class="QLabel" name="labelColor">
<property name="spacing"> <property name="minimumSize">
<number>2</number> <size>
<width>50</width>
<height>0</height>
</size>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_8">
<property name="maximumSize">
<size>
<width>80</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>颜色</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_6">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<widget class="QPushButton" name="pushButton_7">
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>130</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>圆</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_5">
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="text">
<string>十字标定线</string>
</property>
</widget>
</item>
<item>
<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>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>步长</string>
</property>
</widget>
</item>
<item>
<widget class="QSlider" name="horizontalSlider">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>10</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="tickPosition">
<enum>QSlider::TicksAbove</enum>
</property>
<property name="tickInterval">
<number>1</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QGridLayout" name="gridLayout_4">
<property name="spacing">
<number>0</number>
</property>
<item row="1" column="1">
<widget class="QToolButton" name="m_pbUp">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="image.qrc">
<normaloff>:/resource/caret-up.png</normaloff>:/resource/caret-up.png</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QToolButton" name="m_pbLeft">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="image.qrc">
<normaloff>:/resource/caret-left.png</normaloff>:/resource/caret-left.png</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QToolButton" name="m_pbRight">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="image.qrc">
<normaloff>:/resource/caret-right.png</normaloff>:/resource/caret-right.png</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QToolButton" name="m_pbDown">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="image.qrc">
<normaloff>:/resource/caret-down.png</normaloff>:/resource/caret-down.png</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QToolButton" name="toolButton_4">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="image.qrc">
<normaloff>:/resource/btn-close.png</normaloff>:/resource/btn-close.png</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QPushButton" name="pushButton_16">
<property name="text">
<string>放大</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_17">
<property name="text">
<string>缩小</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer_2">
<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>
</item>
<item row="1" column="0" colspan="2">
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<spacer name="horizontalSpacer_5">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property> </property>
<property name="leftMargin"> <property name="sizeHint" stdset="0">
<number>2</number> <size>
<width>649</width>
<height>27</height>
</size>
</property> </property>
<property name="topMargin"> </spacer>
<number>2</number> </item>
<item>
<widget class="QPushButton" name="pushButton">
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property> </property>
<property name="rightMargin"> <property name="text">
<number>2</number> <string>确定</string>
</property> </property>
<property name="bottomMargin"> </widget>
<number>2</number> </item>
<item>
<widget class="QPushButton" name="pushButton_2">
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property> </property>
<item> <property name="text">
<widget class="QLabel" name="label_pixel_info"> <string>取消</string>
<property name="font"> </property>
<font> </widget>
<family>Arial</family> </item>
<pointsize>8</pointsize> </layout>
<weight>50</weight>
<bold>false</bold>
</font>
</property>
<property name="text">
<string>Pixel info: </string>
</property>
</widget>
</item>
<item>
<widget class="QGraphicsView" name="graphicsView">
<property name="transformationAnchor">
<enum>QGraphicsView::AnchorUnderMouse</enum>
</property>
<property name="resizeAnchor">
<enum>QGraphicsView::AnchorUnderMouse</enum>
</property>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_3">
<property name="title">
<string>控制台:</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="leftMargin">
<number>2</number>
</property>
<property name="topMargin">
<number>2</number>
</property>
<property name="rightMargin">
<number>2</number>
</property>
<property name="bottomMargin">
<number>2</number>
</property>
<item>
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>X:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="lineEdit_4"/>
</item>
<item row="0" column="2">
<widget class="QLabel" name="label_7">
<property name="text">
<string>宽:</string>
</property>
</widget>
</item>
<item row="0" column="3">
<widget class="QLineEdit" name="lineEdit_6"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Y:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="lineEdit_5"/>
</item>
<item row="1" column="2">
<widget class="QLabel" name="label_6">
<property name="text">
<string>高</string>
</property>
</widget>
</item>
<item row="1" column="3">
<widget class="QLineEdit" name="lineEdit_7"/>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_5">
<item>
<widget class="QPushButton" name="pushButton_16">
<property name="text">
<string>+</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_17">
<property name="text">
<string>-</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QGridLayout" name="gridLayout">
<property name="spacing">
<number>1</number>
</property>
<item row="0" column="0">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="1">
<widget class="QPushButton" name="pushButton_11">
<property name="minimumSize">
<size>
<width>0</width>
<height>25</height>
</size>
</property>
<property name="text">
<string>上</string>
</property>
</widget>
</item>
<item row="0" column="2">
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="0">
<widget class="QPushButton" name="pushButton_10">
<property name="text">
<string>左</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="pushButton_9">
<property name="text">
<string>确认</string>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QPushButton" name="pushButton_12">
<property name="text">
<string>右</string>
</property>
</widget>
</item>
<item row="2" column="0">
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>58</width>
<height>13</height>
</size>
</property>
</spacer>
</item>
<item row="2" column="1">
<widget class="QPushButton" name="pushButton_13">
<property name="text">
<string>下</string>
</property>
</widget>
</item>
<item row="2" column="2">
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<widget class="QPushButton" name="pushButton_14">
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="text">
<string>设置图片</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_15">
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="text">
<string>从相机获取图片</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</widget>
</item> </item>
</layout> </layout>
</widget> </widget>
<resources/> <resources>
<include location="image.qrc"/>
</resources>
<connections/> <connections/>
</ui> </ui>

@ -270,7 +270,6 @@ void RoiScene::mousePressEvent(QGraphicsSceneMouseEvent *mouseEvent)
if (item != 0 && !item->GetCheckState()) if (item != 0 && !item->GetCheckState())
{ {
//m_pRoiDlg->ResetItem(maptoImgPos(item->scenePos()), item->boundingRect().toRect());
emit sgResetItem(maptoImgPos(item->scenePos()), item->boundingRect().toRect()); emit sgResetItem(maptoImgPos(item->scenePos()), item->boundingRect().toRect());
m_graphItemMapStruct[item].rectf = maptoImgNewPos(item); m_graphItemMapStruct[item].rectf = maptoImgNewPos(item);
} }
@ -287,7 +286,6 @@ void RoiScene::mousePressEvent(QGraphicsSceneMouseEvent *mouseEvent)
void RoiScene::mouseMoveEvent(QGraphicsSceneMouseEvent *mouseEvent) void RoiScene::mouseMoveEvent(QGraphicsSceneMouseEvent *mouseEvent)
{ {
{ {
if (DrawTool::c_drawShape == selection) if (DrawTool::c_drawShape == selection)
{ {
@ -321,7 +319,6 @@ void RoiScene::mouseMoveEvent(QGraphicsSceneMouseEvent *mouseEvent)
void RoiScene::mouseReleaseEvent(QGraphicsSceneMouseEvent *mouseEvent) void RoiScene::mouseReleaseEvent(QGraphicsSceneMouseEvent *mouseEvent)
{ {
{ {
DrawTool * tool = DrawTool::findTool(DrawTool::c_drawShape); DrawTool * tool = DrawTool::findTool(DrawTool::c_drawShape);
if (tool) if (tool)
@ -335,9 +332,7 @@ void RoiScene::mouseReleaseEvent(QGraphicsSceneMouseEvent *mouseEvent)
if (item != 0) if (item != 0)
{ {
//m_pRoiDlg->ResetItem(maptoImgPos(mouseEvent->scenePos()), item->boundingRect().toRect());
emit sgResetItem(maptoImgPos(mouseEvent->scenePos()), item->boundingRect().toRect()); emit sgResetItem(maptoImgPos(mouseEvent->scenePos()), item->boundingRect().toRect());
m_graphItemMapStruct[item].rectf = maptoImgNewPos(item); m_graphItemMapStruct[item].rectf = maptoImgNewPos(item);
DrawTool::c_drawShape = selection; DrawTool::c_drawShape = selection;
QGraphicsScene::mouseReleaseEvent(mouseEvent); QGraphicsScene::mouseReleaseEvent(mouseEvent);
@ -345,7 +340,7 @@ void RoiScene::mouseReleaseEvent(QGraphicsSceneMouseEvent *mouseEvent)
} }
} }
void RoiScene::MoveSelectedItem(DirType type) void RoiScene::MoveSelectedItem(DirType type,int step)
{ {
QList<QGraphicsItem *> items = this->selectedItems(); QList<QGraphicsItem *> items = this->selectedItems();
GraphicsItem *item = 0; GraphicsItem *item = 0;
@ -359,28 +354,26 @@ void RoiScene::MoveSelectedItem(DirType type)
{ {
case LEFT: case LEFT:
{ {
item->moveBy(-1, 0); item->moveBy(-step, 0);
break; break;
} }
case RIGHT: case RIGHT:
{ {
item->moveBy(1, 0); item->moveBy(step, 0);
break; break;
} }
case UP: case UP:
{ {
item->moveBy(0, -1); item->moveBy(0, -step);
break; break;
} }
case DOWN: case DOWN:
{ {
item->moveBy(0, 1); item->moveBy(0, step);
break; break;
} }
} }
emit sgResetItem(maptoImgPos(item->scenePos()),item->boundingRect().toRect()); emit sgResetItem(maptoImgPos(item->scenePos()),item->boundingRect().toRect());
//m_pRoiDlg->ResetItem(maptoImgPos(item->scenePos()),item->boundingRect().toRect());
m_graphItemMapStruct[item].rectf = maptoImgNewPos(item); m_graphItemMapStruct[item].rectf = maptoImgNewPos(item);
} }
} }

@ -56,8 +56,7 @@ public:
void DisableMenu(bool bRet){ m_bDisableMenu = bRet; } void DisableMenu(bool bRet){ m_bDisableMenu = bRet; }
void MoveSelectedItem(DirType type, int step = 1);
void MoveSelectedItem(DirType type)/*{}*/;
void SetSelectedItem(QPoint pos, QRect size)/*{}*/; void SetSelectedItem(QPoint pos, QRect size)/*{}*/;
//void SetRoiDlg(IDetectorUISink* lpRoiDlg){ m_pRoiDlg = lpRoiDlg; } //void SetRoiDlg(IDetectorUISink* lpRoiDlg){ m_pRoiDlg = lpRoiDlg; }
void SetGraphicsView(QGraphicsView* ipGV){ mpGraphicsView = ipGV; } void SetGraphicsView(QGraphicsView* ipGV){ mpGraphicsView = ipGV; }

@ -2,5 +2,26 @@
<qresource prefix="/"> <qresource prefix="/">
<file>resource/app.png</file> <file>resource/app.png</file>
<file>resource/save.png</file> <file>resource/save.png</file>
<file>resource/btn-close.png</file>
<file>resource/caret-down.png</file>
<file>resource/caret-left.png</file>
<file>resource/caret-right.png</file>
<file>resource/caret-up.png</file>
<file>resource/down.png</file>
<file>resource/ellipsis.png</file>
<file>resource/eye.png</file>
<file>resource/hide.png</file>
<file>resource/img.png</file>
<file>resource/interlines.png</file>
<file>resource/left_more.png</file>
<file>resource/lock.png</file>
<file>resource/lock-open.png</file>
<file>resource/lock-open_green.png</file>
<file>resource/no-img.png</file>
<file>resource/right_more.png</file>
<file>resource/save-all.png</file>
<file>resource/thumbtack.png</file>
<file>resource/up.png</file>
<file>resource/video-on.png</file>
</qresource> </qresource>
</RCC> </RCC>

@ -1,19 +1,17 @@
#include "lpdesigner.h" #include "lpdesigner.h"
#include "LPDsg.h" #include "CDetectorUI.h"
void LpDesignerNewInstance(IDetectorUI **lppDetectorUI, IDetectorEngine *lpDE, IDetectorUISink* lpSink) LPDESIGNER_EXPORT IDetectorUI* Lib_Designer_Init(void)
{ {
CDetectorUI *g_pDetectUI = new CDetectorUI; CDetectorUI *g_pDetectUI = new CDetectorUI();
if (g_pDetectUI) return (IDetectorUI*)g_pDetectUI;
{
if(!g_pDetectUI->Initialize(lpDE))
return;
}
*lppDetectorUI = (IDetectorUI *)g_pDetectUI;
} }
bool LpDesignerDeleteInstance() LPDESIGNER_EXPORT void Lib_Designer_Free(IDetectorUI *ptr)
{ {
return true; if (ptr)
{
delete ptr;
ptr = nullptr;
}
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 757 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 446 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 477 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 431 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 461 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1020 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1023 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 943 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 966 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 822 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1017 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 665 B

@ -162,28 +162,6 @@ PLP_ALGORITHM_PARAM CDetectorAlgorithm::AddParam(const PLP_ALGORITHM_PARAM pPara
m_mapParams[pParam->strName] = (*its); m_mapParams[pParam->strName] = (*its);
return (*its); return (*its);
} }
//else
{
// LP_ALGORITHM_PARAM* p = new LP_ALGORITHM_PARAM;
//
// p->nID = ++m_nParamBaseID;
// p->nTaskID = pParam->nTaskID;
// p->nSrcAlgoID = pParam->nSrcAlgoID;
// p->nSrcParamID = pParam->nSrcParamID;
// p->strName = pParam->strName;
// p->type = pParam->type;
// p->value = pParam->value;
// p->strDescription = pParam->strDescription;
// p->bIsSave = pParam->bIsSave;
// p->bIsLock = pParam->bIsLock;
//
// //m_vecParams.push_back(p);
// m_mapParams.insert(p->strName, p);
// m_vecParams[p->strName] = p;
// return p;
}
} }
return NULL; return NULL;
} }
@ -204,7 +182,6 @@ bool CDetectorAlgorithm::DeleteParam(int nParamID)
delete *iter; delete *iter;
return true; return true;
} }
} }
} }
@ -222,7 +199,6 @@ PLP_ALGORITHM_PARAM CDetectorAlgorithm::GetParam(int nParamID)
if (p->nID == nParamID) if (p->nID == nParamID)
return p; return p;
} }
} }
return NULL; return NULL;
@ -284,23 +260,6 @@ PLP_ALGORITHM_PARAM CDetectorAlgorithm::AddOutParam(const PLP_ALGORITHM_PARAM pP
m_mapOutParams[pParam->strName] = (*its); m_mapOutParams[pParam->strName] = (*its);
return (*its); return (*its);
} }
// else
// {
// PLP_ALGORITHM_PARAM p = new LP_ALGORITHM_PARAM;
//
// p->nID = ++m_nOutParamBaseID;
// p->nTaskID = pParam->nTaskID;
// p->nSrcAlgoID = pParam->nSrcAlgoID;
// p->nSrcParamID = pParam->nSrcParamID;
// p->strName = pParam->strName;
// p->type = pParam->type;
// p->value = pParam->value;
// p->strDescription = pParam->strDescription;
// p->bIsSave = pParam->bIsSave;
//
// m_vecOutParams[p->strName] = p;
// m_mapOutParams.insert(p->strName, p);
// }
} }
return NULL; return NULL;
} }
@ -1232,8 +1191,13 @@ bool CDetectorAlgorithm::Load(QString dllPath)
m_lib.unload(); m_lib.unload();
} }
#ifdef _DEBUG
QString strDll = dllPath + "d.dll";
QString strFileName = dllPath.mid(dllPath.lastIndexOf("/") + 1) + "d.dll";
#else
QString strDll = dllPath + ".dll"; QString strDll = dllPath + ".dll";
QString strFileName = dllPath.mid(dllPath.lastIndexOf("/") + 1) + ".dll"; QString strFileName = dllPath.mid(dllPath.lastIndexOf("/") + 1) + ".dll";
#endif
QFile file(strDll); QFile file(strDll);
if (file.exists()) if (file.exists())

@ -52,7 +52,7 @@
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir> <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
<TargetName>$(ProjectName)</TargetName> <TargetName>$(ProjectName)d</TargetName>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir> <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>

@ -52,7 +52,7 @@
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir> <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
<TargetName>$(ProjectName)</TargetName> <TargetName>$(ProjectName)d</TargetName>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir> <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>

@ -48,7 +48,7 @@ CMainWin::CMainWin(QWidget *parent)
onInitStatus(); onInitStatus();
connect(&m_devMgrWid, SIGNAL(sgChangeLanguage(QString)), this, SLOT(onLanguageChange(QString))); connect(&m_devMgrWid, SIGNAL(sgChangeLanguage(QString)), this, SLOT(onLanguageChange(QString)));
connect(m_pDesignerMgr, SIGNAL(sgCloseWindow()), this, SLOT(onMainFrameClose())); //connect(m_pDesignerMgr, SIGNAL(sgCloseWindow()), this, SLOT(onMainFrameClose()));
connect(&m_testWid, SIGNAL(sgTestMode(int)), this, SLOT(onTestMode(int))); connect(&m_testWid, SIGNAL(sgTestMode(int)), this, SLOT(onTestMode(int)));
m_pColossus = new WfColossus(m_pDetectorEngine); m_pColossus = new WfColossus(m_pDetectorEngine);
@ -161,11 +161,16 @@ CMainWin::~CMainWin()
delete m_pSerialPort; delete m_pSerialPort;
m_pSerialPort = NULL; m_pSerialPort = NULL;
} }
// if (m_pDesignerMgr) if (m_pDesigner)
// { {
// delete m_pDesignerMgr; delete m_pDesigner;
// m_pDesignerMgr = nullptr; m_pDesigner = nullptr;
// } }
if (m_pDllDesigner)
{
delete m_pDllDesigner;
m_pDllDesigner = nullptr;
}
if (m_pDllDetectorEngine) if (m_pDllDetectorEngine)
{ {
delete m_pDllDetectorEngine; delete m_pDllDetectorEngine;
@ -552,9 +557,8 @@ Q_SLOT void CMainWin::onActionClicked()
{ {
QString strObj = sender()->objectName(); QString strObj = sender()->objectName();
if ("actionSetting" == strObj) {//标定 if ("actionSetting" == strObj) {//标定
IDetectorUI* pDetectorUI = GetDesignerInterface(); if (m_pDesigner) {
if (pDetectorUI) { m_pDesigner->ShowMainFrame(this);
pDetectorUI->ShowMainFrame();
} }
} }
else if ("actionManage" == strObj) {//模板管理 else if ("actionManage" == strObj) {//模板管理
@ -728,6 +732,14 @@ bool CMainWin::onInitCoreCtrl()
return false; return false;
} }
m_pDetectorEngine = m_pDllDetectorEngine->m_pDE; m_pDetectorEngine = m_pDllDetectorEngine->m_pDE;
if (m_pDetectorEngine == nullptr)
{
QMessageBox infobox(QMessageBox::Critical, tr("提示"), tr("lpbengine模块加载失败,请检查!"), QMessageBox::Yes, this);
infobox.setWindowIcon(QIcon(":/image/leaper"));
infobox.setButtonText(QMessageBox::Yes, tr("确认"));
infobox.exec();
exit(0);
}
} }
//load coretrl //load coretrl
if (NULL == m_pDllCoreCtrl) if (NULL == m_pDllCoreCtrl)
@ -752,11 +764,23 @@ bool CMainWin::onInitCoreCtrl()
} }
m_pDllDetectorEngine->Initialize(m_pCoreCtrl); m_pDllDetectorEngine->Initialize(m_pCoreCtrl);
if (NULL == m_pDesignerMgr) if (m_pDllDesigner == nullptr)
{ {
m_pDesignerMgr = new QDetectorDesignerMgr(); m_pDllDesigner = new CDllDesigner();
if (!m_pDesignerMgr->Initialize(m_pDetectorEngine)) { if (m_pDllDesigner != nullptr)
qWarning() << "Initialize is false"; {
m_pDesigner = m_pDllDesigner->GetDesignerInterface();
if (m_pDesigner && m_pDetectorEngine)
{
m_pDesigner->Initialize(m_pDetectorEngine);
}
else {
QMessageBox infobox(QMessageBox::Critical, tr("提示"), tr("lpdesigner模块加载失败,请检查!"), QMessageBox::Yes, this);
infobox.setWindowIcon(QIcon(":/image/leaper"));
infobox.setButtonText(QMessageBox::Yes, tr("确认"));
infobox.exec();
exit(0);
}
} }
} }
return true; return true;
@ -867,14 +891,6 @@ void CMainWin::writeConfig()
// QSettings setting("language.ini", QSettings::IniFormat); // QSettings setting("language.ini", QSettings::IniFormat);
// setting.setValue("language", m_strCurLanguage); // setting.setValue("language", m_strCurLanguage);
} }
//======翻译
IDetectorUI* CMainWin::GetDesignerInterface() const
{
if (m_pDesignerMgr)
return m_pDesignerMgr->GetDesignerInterface();
return nullptr;
}
void CMainWin::saveSolution() void CMainWin::saveSolution()
{ {

@ -13,7 +13,6 @@
#include "IWfCtrl.h" #include "IWfCtrl.h"
#include "WfColossus.h" #include "WfColossus.h"
#include "AutoTrigger.h" #include "AutoTrigger.h"
#include "QDetectorDesignerMgr.h"
#include "QTestModeWid.h" #include "QTestModeWid.h"
#include "iCoreCtrl.h" #include "iCoreCtrl.h"
#include "QModelMangerUI.h" #include "QModelMangerUI.h"
@ -21,6 +20,8 @@
#include "QDeviceMgrUI.h" #include "QDeviceMgrUI.h"
#include "QCamSetDlg.h" #include "QCamSetDlg.h"
#include "QCameraMgrUI.h" #include "QCameraMgrUI.h"
#include "lpdesigner.h"
#include "CDllDesigner.h"
struct StationInfo struct StationInfo
{ {
@ -74,9 +75,7 @@ private://
void rmTranslator(); void rmTranslator();
void readConfig(); void readConfig();
void writeConfig(); void writeConfig();
private: private:
IDetectorUI* GetDesignerInterface() const;
void saveSolution(); void saveSolution();
int lastNum(QString str); int lastNum(QString str);
Q_SLOT void onMainFrameClose(); Q_SLOT void onMainFrameClose();
@ -114,7 +113,8 @@ private:
private: private:
CDllCoreCtrl* m_pDllCoreCtrl{nullptr}; CDllCoreCtrl* m_pDllCoreCtrl{nullptr};
CDllDetectorEngine* m_pDllDetectorEngine{nullptr}; CDllDetectorEngine* m_pDllDetectorEngine{nullptr};
QDetectorDesignerMgr* m_pDesignerMgr{nullptr}; CDllDesigner* m_pDllDesigner{ nullptr };
IDetectorUI* m_pDesigner{ nullptr };
ICoreCtrl* m_pCoreCtrl{nullptr}; ICoreCtrl* m_pCoreCtrl{nullptr};
IDetectorEngine* m_pDetectorEngine{nullptr}; IDetectorEngine* m_pDetectorEngine{nullptr};

@ -121,7 +121,7 @@
<ClCompile Include="..\..\src\lpMain\AutoTrigger.cpp" /> <ClCompile Include="..\..\src\lpMain\AutoTrigger.cpp" />
<ClCompile Include="..\..\src\lpMain\CoreCtrl\CDllCoreCtrl.cpp" /> <ClCompile Include="..\..\src\lpMain\CoreCtrl\CDllCoreCtrl.cpp" />
<ClCompile Include="..\..\src\lpMain\CoreCtrl\CDllDetectorEngine.cpp" /> <ClCompile Include="..\..\src\lpMain\CoreCtrl\CDllDetectorEngine.cpp" />
<ClCompile Include="..\..\src\lpMain\CoreCtrl\QDetectorDesignerMgr.cpp" /> <ClCompile Include="..\..\src\lpMain\CoreCtrl\CDllDesigner.cpp" />
<ClCompile Include="..\..\src\lpMain\ModelTable.cpp" /> <ClCompile Include="..\..\src\lpMain\ModelTable.cpp" />
<ClCompile Include="..\..\src\lpMain\QDiskCleanThread\QDiskCleanThread.cpp" /> <ClCompile Include="..\..\src\lpMain\QDiskCleanThread\QDiskCleanThread.cpp" />
<ClCompile Include="..\..\src\lpMain\QDiskCleanThread\WorkChecker.cpp" /> <ClCompile Include="..\..\src\lpMain\QDiskCleanThread\WorkChecker.cpp" />
@ -218,7 +218,10 @@
<QtMoc Include="..\..\src\lpMain\algela\lpImgViewer.h" /> <QtMoc Include="..\..\src\lpMain\algela\lpImgViewer.h" />
<ClInclude Include="..\..\src\lpMain\CoreCtrl\CDllCoreCtrl.h" /> <ClInclude Include="..\..\src\lpMain\CoreCtrl\CDllCoreCtrl.h" />
<ClInclude Include="..\..\src\lpMain\CoreCtrl\CDllDetectorEngine.h" /> <ClInclude Include="..\..\src\lpMain\CoreCtrl\CDllDetectorEngine.h" />
<QtMoc Include="..\..\src\lpMain\CoreCtrl\QDetectorDesignerMgr.h" /> <QtMoc Include="..\..\src\lpMain\CoreCtrl\CDllDesigner.h">
<IncludePath Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles;.;$(QTDIR)\include;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtSql;.\GeneratedFiles\$(ConfigurationName);.\..\..\3part\SerialPortTool\include;.\..\..\src\lpMain;.\..\..\src\lpMain\algela;.\..\..\src\lpMain\QDiskCleanThread;.\..\..\src\lpMain\sqliteDB;.\..\..\src\lpMain\UI;.\..\..\3part\opencv3.4.1\include;.\..\..\3part\opencv3.4.1\include\opencv;.\..\..\3part\opencv3.4.1\include\opencv2;.\..\..\3part\libzkq\include;.\..\..\3part\lpSyslog\inc;.\..\..\src\userCtrl;.\..\..\src\lpMain\CoreCtrl;.\..\..\3part\tadpole\include\tpBase;.\..\..\src\lpMain\view</IncludePath>
<IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles;.;$(QTDIR)\include;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtSql;.\GeneratedFiles\$(ConfigurationName);.\..\..\3part\SerialPortTool\include;.\..\..\src\lpMain;.\..\..\src\lpMain\algela;.\..\..\src\lpMain\QDiskCleanThread;.\..\..\src\lpMain\sqliteDB;.\..\..\src\lpMain\UI;.\..\..\3part\opencv3.4.1\include;.\..\..\3part\opencv3.4.1\include\opencv;.\..\..\3part\opencv3.4.1\include\opencv2;.\..\..\3part\libzkq\include;.\..\..\3part\lpSyslog\inc;.\..\..\src\userCtrl;.\..\..\src\lpMain\CoreCtrl;.\..\..\3part\tadpole\include\tpBase;.\..\..\src\lpMain\view</IncludePath>
</QtMoc>
<QtMoc Include="CMainWin.h" /> <QtMoc Include="CMainWin.h" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

@ -66,9 +66,6 @@
<ClCompile Include="CMainWin.cpp"> <ClCompile Include="CMainWin.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\src\lpMain\CoreCtrl\QDetectorDesignerMgr.cpp">
<Filter>CoreCtrl</Filter>
</ClCompile>
<ClCompile Include="..\..\src\lpMain\algela\lpImgViewer.cpp"> <ClCompile Include="..\..\src\lpMain\algela\lpImgViewer.cpp">
<Filter>lpMain\algela</Filter> <Filter>lpMain\algela</Filter>
</ClCompile> </ClCompile>
@ -162,6 +159,9 @@
<ClCompile Include="QCamSettingDlg.cpp"> <ClCompile Include="QCamSettingDlg.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\src\lpMain\CoreCtrl\CDllDesigner.cpp">
<Filter>CoreCtrl</Filter>
</ClCompile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<QtMoc Include="IMainWidget.h"> <QtMoc Include="IMainWidget.h">
@ -173,9 +173,6 @@
<QtMoc Include="CMainWin.h"> <QtMoc Include="CMainWin.h">
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
</QtMoc> </QtMoc>
<QtMoc Include="..\..\src\lpMain\CoreCtrl\QDetectorDesignerMgr.h">
<Filter>CoreCtrl</Filter>
</QtMoc>
<QtMoc Include="..\..\src\lpMain\algela\lpImgViewer.h"> <QtMoc Include="..\..\src\lpMain\algela\lpImgViewer.h">
<Filter>lpMain\algela</Filter> <Filter>lpMain\algela</Filter>
</QtMoc> </QtMoc>
@ -266,6 +263,9 @@
<QtMoc Include="QCamSettingDlg.h"> <QtMoc Include="QCamSettingDlg.h">
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
</QtMoc> </QtMoc>
<QtMoc Include="..\..\src\lpMain\CoreCtrl\CDllDesigner.h">
<Filter>CoreCtrl</Filter>
</QtMoc>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<QtUic Include="CMainWin.ui"> <QtUic Include="CMainWin.ui">

@ -78,8 +78,6 @@
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="..\..\include\lpdesigner\lpdesigner.h" />
<ClInclude Include="..\..\include\lpdesigner\lpdsgdefine.h" />
<ClInclude Include="..\..\include\lpdesigner\SystemStateInfo.h" /> <ClInclude Include="..\..\include\lpdesigner\SystemStateInfo.h" />
<CustomBuild Include="..\..\src\lpbdesigner\DsgParamDlg.h"> <CustomBuild Include="..\..\src\lpbdesigner\DsgParamDlg.h">
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs> <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
@ -163,7 +161,7 @@
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\..\..\src\lpbdesigner\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs> <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\..\..\src\lpbdesigner\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\..\..\src\lpbdesigner\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DLPDESIGNER_LIB -D%(PreprocessorDefinitions) "-I." "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWebKit" "-I$(QTDIR)\include\QtPrintSupport" "-I$(QTDIR)\include\QtWebkitWidgets" "-I.\GeneratedFiles\$(ConfigurationName)" "-I.\..\..\include\lpdesigner\algela" "-I.\..\..\include\lpdesigner" "-I.\..\..\src\lpbdesigner\GeneratedFiles" "-I.\..\..\src\ColossusBase" "-I.\..\..\3part\opencv3.4.1\include" "-I.\..\..\3part\opencv3.4.1\include\opencv" "-I.\..\..\3part\opencv3.4.1\include\opencv2" "-I.\..\..\src\lpbdesigner" "-I.\..\..\3part\tadpole\include\tpBase"</Command> <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\..\..\src\lpbdesigner\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DLPDESIGNER_LIB -D%(PreprocessorDefinitions) "-I." "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWebKit" "-I$(QTDIR)\include\QtPrintSupport" "-I$(QTDIR)\include\QtWebkitWidgets" "-I.\GeneratedFiles\$(ConfigurationName)" "-I.\..\..\include\lpdesigner\algela" "-I.\..\..\include\lpdesigner" "-I.\..\..\src\lpbdesigner\GeneratedFiles" "-I.\..\..\src\ColossusBase" "-I.\..\..\3part\opencv3.4.1\include" "-I.\..\..\3part\opencv3.4.1\include\opencv" "-I.\..\..\3part\opencv3.4.1\include\opencv2" "-I.\..\..\src\lpbdesigner" "-I.\..\..\3part\tadpole\include\tpBase"</Command>
</CustomBuild> </CustomBuild>
<ClInclude Include="..\..\src\lpbdesigner\LPDsg.h" /> <ClInclude Include="..\..\src\lpbdesigner\CDetectorUI.h" />
<ClInclude Include="..\..\src\lpbdesigner\RoiItem.h" /> <ClInclude Include="..\..\src\lpbdesigner\RoiItem.h" />
<CustomBuild Include="..\..\src\lpbdesigner\RoiScene.h"> <CustomBuild Include="..\..\src\lpbdesigner\RoiScene.h">
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs> <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
@ -240,7 +238,7 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\src\lpbdesigner\lpdesigner.cpp" /> <ClCompile Include="..\..\src\lpbdesigner\lpdesigner.cpp" />
<ClCompile Include="..\..\src\lpbdesigner\LPDsg.cpp" /> <ClCompile Include="..\..\src\lpbdesigner\CDetectorUI.cpp" />
<ClCompile Include="..\..\src\lpbdesigner\lpTreeWidget.cpp" /> <ClCompile Include="..\..\src\lpbdesigner\lpTreeWidget.cpp" />
<ClCompile Include="..\..\src\lpbdesigner\MainFrame.cpp" /> <ClCompile Include="..\..\src\lpbdesigner\MainFrame.cpp" />
<ClCompile Include="..\..\src\lpbdesigner\RoiItem.cpp" /> <ClCompile Include="..\..\src\lpbdesigner\RoiItem.cpp" />

@ -43,18 +43,9 @@
</Filter> </Filter>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="..\..\include\lpdesigner\lpdesigner.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\lpdesigner\lpdsgdefine.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\src\lpbdesigner\DrawTool.h"> <ClInclude Include="..\..\src\lpbdesigner\DrawTool.h">
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\src\lpbdesigner\LPDsg.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\src\lpbdesigner\RoiItem.h"> <ClInclude Include="..\..\src\lpbdesigner\RoiItem.h">
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
</ClInclude> </ClInclude>
@ -94,6 +85,9 @@
<ClInclude Include="..\..\src\lpbdesigner\colossusbase.h"> <ClInclude Include="..\..\src\lpbdesigner\colossusbase.h">
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\src\lpbdesigner\CDetectorUI.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<CustomBuild Include="..\..\src\lpbdesigner\MainFrame.h"> <CustomBuild Include="..\..\src\lpbdesigner\MainFrame.h">
@ -167,9 +161,6 @@
<ClCompile Include="..\..\src\lpbdesigner\lpdesigner.cpp"> <ClCompile Include="..\..\src\lpbdesigner\lpdesigner.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\src\lpbdesigner\LPDsg.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\lpbdesigner\RoiItem.cpp"> <ClCompile Include="..\..\src\lpbdesigner\RoiItem.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
@ -251,6 +242,9 @@
<ClCompile Include="..\..\src\lpbdesigner\colossusbase.cpp"> <ClCompile Include="..\..\src\lpbdesigner\colossusbase.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\src\lpbdesigner\CDetectorUI.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Image Include="..\..\src\lpbdesigner\resource\app.png"> <Image Include="..\..\src\lpbdesigner\resource\app.png">

@ -82,7 +82,7 @@
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir> <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
<TargetName>$(ProjectName)</TargetName> <TargetName>$(ProjectName)d</TargetName>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir> <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>

Loading…
Cancel
Save