添加查看记录功能

master
bob.pan 5 years ago
parent 8231f97fdd
commit 06f0edcc54

@ -0,0 +1,11 @@
2021-10-18
1、修改了lpengine和lpdesigner模块的功能增加标定参考线功能
2、增加相机场景标定功能
3、增加圆心坐标输出功能
4、内部station管理逻辑大调整当前移除了数据存储功能
5、UI界面操作习惯大调整
2021-10-18 2
1、恢复检测数据结果保存和检测图片保存功能
2、移除不需要的代码和接口
3、UI布局调整

Binary file not shown.

@ -0,0 +1,7 @@
#include "Report.h"
Report::Report(QWidget *parent)
: QMainWindow(parent)
{
ui.setupUi(this);
}

@ -0,0 +1,15 @@
#pragma once
#include <QtWidgets/QMainWindow>
#include "ui_Report.h"
class Report : public QMainWindow
{
Q_OBJECT
public:
Report(QWidget *parent = Q_NULLPTR);
private:
Ui::ReportClass ui;
};

@ -0,0 +1,6 @@
<RCC>
<qresource prefix="/Report">
<file>Resources/app.png</file>
<file>Resources/app2.png</file>
</qresource>
</RCC>

@ -0,0 +1,29 @@
<UI version="4.0" >
<class>ReportClass</class>
<widget class="QMainWindow" name="ReportClass" >
<property name="objectName" >
<string notr="true">ReportClass</string>
</property>
<property name="geometry" >
<rect>
<x>0</x>
<y>0</y>
<width>600</width>
<height>400</height>
</rect>
</property>
<property name="windowTitle" >
<string>Report</string>
</property>
<widget class="QMenuBar" name="menuBar" />
<widget class="QToolBar" name="mainToolBar" />
<widget class="QWidget" name="centralWidget" />
<widget class="QStatusBar" name="statusBar" />
</widget>
<layoutDefault spacing="6" margin="11" />
<pixmapfunction></pixmapfunction>
<resources>
<include location="Report.qrc"/>
</resources>
<connections/>
</UI>

@ -0,0 +1,174 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{B12702AD-ABFB-343A-A199-8E24837244A3}</ProjectGuid>
<Keyword>Qt4VSv1.0</Keyword>
<WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<PropertyGroup Condition="'$(QtMsBuild)'=='' or !Exists('$(QtMsBuild)\qt.targets')">
<QtMsBuild>$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
<TargetName>$(ProjectName)d</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
</PropertyGroup>
<Target Name="QtMsBuildNotFound" BeforeTargets="CustomBuild;ClCompile" Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')">
<Message Importance="High" Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." />
</Target>
<ImportGroup Condition="Exists('$(QtMsBuild)\qt.props')">
<Import Project="$(QtMsBuild)\qt.props" />
</ImportGroup>
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Label="Shared" />
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<PreprocessorDefinitions>UNICODE;_UNICODE;WIN32;WIN64;QT_CORE_LIB;QT_GUI_LIB;QT_SQL_LIB;QT_WIDGETS_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>.\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtSql;$(QTDIR)\include\QtWidgets;..\..\src\lpMain\sqliteDB;..\..\3part\libzkq\include;..\..\3part\customgui\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<Optimization>Disabled</Optimization>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<OutputFile>$(SolutionDir)..\runner17\$(TargetName)$(TargetExt)</OutputFile>
<AdditionalLibraryDirectories>$(QTDIR)\lib;..\..\3part\libzkq\lib;..\..\3part\customgui\lib_x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>qtmaind.lib;Qt5Cored.lib;Qt5Guid.lib;Qt5Sqld.lib;Qt5Widgetsd.lib;libzkqd.lib;customguid.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<QtMoc>
<OutputFile>.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</OutputFile>
<ExecutionDescription>Moc'ing %(Identity)...</ExecutionDescription>
<IncludePath>.\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtSql;$(QTDIR)\include\QtWidgets;..\..\src\lpMain\sqliteDB;..\..\3part\libzkq\include;..\..\3part\customgui\include;%(AdditionalIncludeDirectories)</IncludePath>
<Define>UNICODE;_UNICODE;WIN32;WIN64;QT_CORE_LIB;QT_GUI_LIB;QT_SQL_LIB;QT_WIDGETS_LIB;%(PreprocessorDefinitions)</Define>
</QtMoc>
<QtUic>
<ExecutionDescription>Uic'ing %(Identity)...</ExecutionDescription>
<OutputFile>.\GeneratedFiles\ui_%(Filename).h</OutputFile>
</QtUic>
<QtRcc>
<ExecutionDescription>Rcc'ing %(Identity)...</ExecutionDescription>
<OutputFile>.\GeneratedFiles\qrc_%(Filename).cpp</OutputFile>
</QtRcc>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<PreprocessorDefinitions>UNICODE;_UNICODE;WIN32;WIN64;QT_NO_DEBUG;NDEBUG;QT_CORE_LIB;QT_GUI_LIB;QT_SQL_LIB;QT_WIDGETS_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>.\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtSql;$(QTDIR)\include\QtWidgets;..\..\src\lpMain\sqliteDB;..\..\3part\libzkq\include;..\..\3part\customgui\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DebugInformationFormat />
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<OutputFile>$(SolutionDir)..\runner17\$(TargetName)$(TargetExt)</OutputFile>
<AdditionalLibraryDirectories>$(QTDIR)\lib;..\..\3part\libzkq\lib;..\..\3part\customgui\lib_x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<AdditionalDependencies>qtmain.lib;Qt5Core.lib;Qt5Gui.lib;Qt5Sql.lib;Qt5Widgets.lib;libzkq.lib;customgui.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<QtMoc>
<OutputFile>.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</OutputFile>
<ExecutionDescription>Moc'ing %(Identity)...</ExecutionDescription>
<IncludePath>.\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtSql;$(QTDIR)\include\QtWidgets;..\..\src\lpMain\sqliteDB;..\..\3part\libzkq\include;..\..\3part\customgui\include;%(AdditionalIncludeDirectories)</IncludePath>
<Define>UNICODE;_UNICODE;WIN32;WIN64;QT_NO_DEBUG;NDEBUG;QT_CORE_LIB;QT_GUI_LIB;QT_SQL_LIB;QT_WIDGETS_LIB;%(PreprocessorDefinitions)</Define>
</QtMoc>
<QtUic>
<ExecutionDescription>Uic'ing %(Identity)...</ExecutionDescription>
<OutputFile>.\GeneratedFiles\ui_%(Filename).h</OutputFile>
</QtUic>
<QtRcc>
<ExecutionDescription>Rcc'ing %(Identity)...</ExecutionDescription>
<OutputFile>.\GeneratedFiles\qrc_%(Filename).cpp</OutputFile>
</QtRcc>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\src\lpMain\sqliteDB\databasesql.cpp" />
<ClCompile Include="..\..\src\lpMain\sqliteDB\DetectDataDB.cpp" />
<ClCompile Include="..\..\src\lpMain\sqliteDB\gensql.cpp" />
<ClCompile Include="..\..\src\lpMain\sqliteDB\QSqliteGeneral.cpp" />
<ClCompile Include="..\..\src\lpMain\sqliteDB\QSqliteWheelHubWf.cpp" />
<ClCompile Include="..\..\src\lpMain\sqliteDB\stationdb.cpp" />
<ClCompile Include="main.cpp" />
<ClCompile Include="qcheckdatadlg.cpp" />
<ClCompile Include="Report.cpp" />
</ItemGroup>
<ItemGroup>
<QtMoc Include="Report.h" />
</ItemGroup>
<ItemGroup>
<QtUic Include="qcheckdatadlg.ui" />
<QtUic Include="Report.ui" />
</ItemGroup>
<ItemGroup>
<QtRcc Include="Report.qrc" />
</ItemGroup>
<ItemGroup>
<QtMoc Include="..\..\src\lpMain\sqliteDB\databasesql.h">
<IncludePath Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtSql;$(QTDIR)\include\QtWidgets</IncludePath>
<IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtSql;$(QTDIR)\include\QtWidgets</IncludePath>
</QtMoc>
</ItemGroup>
<ItemGroup>
<QtMoc Include="..\..\src\lpMain\sqliteDB\DetectDataDB.h">
<IncludePath Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtSql;$(QTDIR)\include\QtWidgets</IncludePath>
<IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtSql;$(QTDIR)\include\QtWidgets</IncludePath>
</QtMoc>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\src\lpMain\sqliteDB\gensql.h" />
<ClInclude Include="..\..\src\lpMain\sqliteDB\InfoFile.h" />
<ClInclude Include="..\..\src\lpMain\sqliteDB\QSqliteGeneral.h" />
<ClInclude Include="..\..\src\lpMain\sqliteDB\QSqliteWheelHubWf.h" />
<QtMoc Include="qcheckdatadlg.h">
<IncludePath Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtSql;$(QTDIR)\include\QtWidgets</IncludePath>
<IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtSql;$(QTDIR)\include\QtWidgets</IncludePath>
</QtMoc>
<QtMoc Include="..\..\src\lpMain\sqliteDB\stationdb.h">
<IncludePath Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtSql;$(QTDIR)\include\QtWidgets</IncludePath>
<IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtSql;$(QTDIR)\include\QtWidgets</IncludePath>
</QtMoc>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')">
<Import Project="$(QtMsBuild)\qt.targets" />
</ImportGroup>
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<ProjectExtensions>
<VisualStudio>
<UserProperties MocDir=".\GeneratedFiles\$(ConfigurationName)" UicDir=".\GeneratedFiles" RccDir=".\GeneratedFiles" lupdateOptions="" lupdateOnBuild="0" lreleaseOptions="" Qt5Version_x0020_x64="qt5.9.4-msvc2017-x64" MocOptions="" />
</VisualStudio>
</ProjectExtensions>
</Project>

@ -0,0 +1,108 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{D9D6E242-F8AF-46E4-B9FD-80ECBC20BA3E}</UniqueIdentifier>
<Extensions>qrc;*</Extensions>
<ParseFiles>false</ParseFiles>
</Filter>
<Filter Include="Form Files">
<UniqueIdentifier>{99349809-55BA-4b9d-BF79-8FDBB0286EB3}</UniqueIdentifier>
<Extensions>ui</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{D9D6E242-F8AF-46E4-B9FD-80ECBC20BA3E}</UniqueIdentifier>
<Extensions>qrc;*</Extensions>
<ParseFiles>false</ParseFiles>
</Filter>
<Filter Include="Generated Files">
<UniqueIdentifier>{71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11}</UniqueIdentifier>
<Extensions>moc;h;cpp</Extensions>
<SourceControlFiles>False</SourceControlFiles>
</Filter>
<Filter Include="db">
<UniqueIdentifier>{254918ee-db1e-4bc7-a132-e121174a9976}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="main.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Report.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\lpMain\sqliteDB\databasesql.cpp">
<Filter>db</Filter>
</ClCompile>
<ClCompile Include="..\..\src\lpMain\sqliteDB\DetectDataDB.cpp">
<Filter>db</Filter>
</ClCompile>
<ClCompile Include="..\..\src\lpMain\sqliteDB\gensql.cpp">
<Filter>db</Filter>
</ClCompile>
<ClCompile Include="..\..\src\lpMain\sqliteDB\QSqliteGeneral.cpp">
<Filter>db</Filter>
</ClCompile>
<ClCompile Include="..\..\src\lpMain\sqliteDB\QSqliteWheelHubWf.cpp">
<Filter>db</Filter>
</ClCompile>
<ClCompile Include="..\..\src\lpMain\sqliteDB\stationdb.cpp">
<Filter>db</Filter>
</ClCompile>
<ClCompile Include="qcheckdatadlg.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<QtMoc Include="Report.h">
<Filter>Header Files</Filter>
</QtMoc>
<QtMoc Include="..\..\src\lpMain\sqliteDB\databasesql.h">
<Filter>db</Filter>
</QtMoc>
<QtMoc Include="..\..\src\lpMain\sqliteDB\DetectDataDB.h">
<Filter>db</Filter>
</QtMoc>
<QtMoc Include="..\..\src\lpMain\sqliteDB\stationdb.h">
<Filter>db</Filter>
</QtMoc>
<QtMoc Include="qcheckdatadlg.h">
<Filter>Header Files</Filter>
</QtMoc>
</ItemGroup>
<ItemGroup>
<QtUic Include="Report.ui">
<Filter>Form Files</Filter>
</QtUic>
<QtUic Include="qcheckdatadlg.ui">
<Filter>Form Files</Filter>
</QtUic>
</ItemGroup>
<ItemGroup>
<QtRcc Include="Report.qrc">
<Filter>Resource Files</Filter>
</QtRcc>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\src\lpMain\sqliteDB\gensql.h">
<Filter>db</Filter>
</ClInclude>
<ClInclude Include="..\..\src\lpMain\sqliteDB\InfoFile.h">
<Filter>db</Filter>
</ClInclude>
<ClInclude Include="..\..\src\lpMain\sqliteDB\QSqliteGeneral.h">
<Filter>db</Filter>
</ClInclude>
<ClInclude Include="..\..\src\lpMain\sqliteDB\QSqliteWheelHubWf.h">
<Filter>db</Filter>
</ClInclude>
</ItemGroup>
</Project>

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<QTDIR>C:\Qt\Qt5.9.4\5.9.4\msvc2017_64</QTDIR>
<LocalDebuggerCommand>$(SolutionDir)..\runner17\$(TargetName)$(TargetExt)</LocalDebuggerCommand>
<LocalDebuggerWorkingDirectory>$(SolutionDir)..\runner17\</LocalDebuggerWorkingDirectory>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
<LocalDebuggerEnvironment>PATH=$(QTDIR)\bin%3b$(PATH)</LocalDebuggerEnvironment>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<QTDIR>C:\Qt\Qt5.9.4\5.9.4\msvc2017_64</QTDIR>
<LocalDebuggerCommand>$(SolutionDir)..\runner17\$(TargetName)$(TargetExt)</LocalDebuggerCommand>
<LocalDebuggerWorkingDirectory>$(SolutionDir)..\runner17\</LocalDebuggerWorkingDirectory>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
<LocalDebuggerEnvironment>PATH=$(QTDIR)\bin%3b$(PATH)</LocalDebuggerEnvironment>
</PropertyGroup>
</Project>

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

@ -0,0 +1,29 @@
#include "Report.h"
#include <QtWidgets/QApplication>
#include "stationdb.h"
#include "qcheckdatadlg.h"
#pragma execution_character_set("utf-8")
int main(int argc, char *argv[])
{
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QApplication a(argc, argv);
QString strPath = QCoreApplication::applicationDirPath();
QString DBFilePath = strPath + "\\DBFiles";
StationDB* m_db = new StationDB(DBFilePath + "\\AntMan.db");
m_db->InitDatabase();
QCheckDataDlg dlg;
dlg.setWindowIcon(QIcon(":/Report/Resources/app2.png"));
dlg.setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint);
dlg.setDbPtr(m_db);
QStringList strList;
strList<< "¹¤Î»1" << "¹¤Î»2";
dlg.setStationNames(strList);
dlg.show();
int ret = a.exec();
delete m_db;
m_db = nullptr;
return ret;
}

@ -0,0 +1,372 @@
#include "qcheckdatadlg.h"
#include "qstandarditemmodel.h"
#include "qmessagebox.h"
#include "qfontmetrics.h"
#pragma execution_character_set("utf-8")
QCheckDataDlg::QCheckDataDlg(QWidget *parent)
: QDialog(parent), m_db(NULL), nPrevNum(0), nTotlaNumber(0)
{
ui.setupUi(this);
m_ViewImg = new QTpGraphView;
connect(ui.m_pbCheck, SIGNAL(clicked()), this, SLOT(onCheckOutData()));
connect(ui.Prev_checkShengchang, SIGNAL(clicked()), this, SLOT(onChenckButton()));
connect(ui.Next_checkShengchang, SIGNAL(clicked()), this, SLOT(onChenckButton()));
connect(ui.m_pbCount, SIGNAL(clicked()), this, SLOT(onChenckButton()));
setWindowIcon(QIcon(":/leaper/app.png"));
pShowName_label = ui.check_fileName;
pShowName_label->clear();
check_showImg_label = ui.check_showImg_label;
check_showImg_label->clear();
QGridLayout *pGrid = new QGridLayout(this);
pGrid->addWidget(m_ViewImg);
check_showImg_label->setLayout(pGrid);
m_tableModel = new QStandardItemModel;
tableView = ui.tableView;
connect(tableView, SIGNAL(clicked(const QModelIndex &)), this, SLOT(onTBUI_ItemClick(const QModelIndex &)));
tableView->setModel(m_tableModel);
textBrowser = ui.textBrowser;
pStartTimeEdit = ui.dateTimeEdit_start;
pEndTimeEdit = ui.dateTimeEdit_end;
QDateTime nDateTime = QDateTime::currentDateTime();
nDateTime.setTime(QTime(0, 0, 0));
pStartTimeEdit->setDateTime(nDateTime);
pEndTimeEdit->setDateTime(QDateTime::currentDateTime());
Qt::WindowFlags flags = Qt::Dialog;
flags |= Qt::WindowMinMaxButtonsHint;
flags |= Qt::WindowCloseButtonHint;
setWindowFlags(flags);
setPageShow(0, 0);
}
QCheckDataDlg::~QCheckDataDlg()
{
if (m_tableModel)
{
delete m_tableModel;
m_tableModel = NULL;
}
if (m_ViewImg){
delete m_ViewImg;
m_ViewImg = NULL;
}
}
void QCheckDataDlg::createHeader()
{
QStringList listStr;
listStr.append(QObject::tr("时间"));
listStr.append(QObject::tr("型号"));
listStr.append(QObject::tr("matchScore"));
listStr.append(QObject::tr("BenchMark"));
listStr.append(QObject::tr("Angle"));
listStr.append(QObject::tr("errorType"));
listStr.append(QObject::tr("resultTip"));
listStr.append(QObject::tr("工位"));
m_tableModel->setHorizontalHeaderLabels(listStr);
}
void QCheckDataDlg::updateModelShowLog(QSqlQuery &sql)
{
m_tableModel->clear();
m_strMap.clear();
createHeader();
tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);
tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);//自适应行宽
int nIndex = 0;
while (sql.next())
{
/*这里下面是统计查询到的通道对应的产品总数*/
QString time = sql.value("time").toString();
QString dAngle = sql.value("dAngle").toString();
QString matchScore = sql.value("matchScore").toString().left(5);
QString errorType = sql.value("errorType").toString();
QString resultTip = sql.value("resultTip").toString();
QString threshBenchMark = sql.value("threshBenchMark").toString();
QString stationName = sql.value("stationName").toString();
QString strFilename = sql.value("value1").toString();//取出保存图片的路径名
//QByteArray picByte = sql.value("image").toByteArray();
QString strModelName = sql.value("value2").toString();
//QImage img = QImage::fromData(picByte);
m_tableModel->setItem(nIndex, 0, new QStandardItem(time));
m_tableModel->setItem(nIndex, 1, new QStandardItem(strModelName));
m_tableModel->setItem(nIndex, 2, new QStandardItem(matchScore));
m_tableModel->setItem(nIndex, 3, new QStandardItem(threshBenchMark));
m_tableModel->setItem(nIndex, 4, new QStandardItem(dAngle));
m_tableModel->setItem(nIndex, 5, new QStandardItem(errorType));
m_tableModel->setItem(nIndex, 6, new QStandardItem(resultTip));
m_tableModel->setItem(nIndex, 7, new QStandardItem(stationName));
m_strMap.insert(time, strFilename);
pShowName_label->setText(strFilename);
nIndex++;
}
ui.showNum_Label_Checkdata->setText(QString(QObject::tr("共显示%1条记录")).arg(nIndex));
tableView->setModel(m_tableModel);
int page = nPrevNum / getLimitNumber();
int totalPage = nTotlaNumber / getLimitNumber();
setPageShow(page+1, totalPage+1);
}
int QCheckDataDlg::getLimitNumber()
{
int num = ui.LineNumber_checkShengchang->text().toInt();
if (num > 1)
return num;
else
{
ui.LineNumber_checkShengchang->setText("50");
return 50;
}
}
int QCheckDataDlg::getTotalNumber()
{
QString startTime = pStartTimeEdit->dateTime().toString("yyyy-MM-dd hh:mm:ss zzz");
QString endTime = pEndTimeEdit->dateTime().toString("yyyy-MM-dd hh:mm:ss zzz");
QString stationName = getStationName();
int errorType = getErrorType();
QString strSql = QString();
if (stationName == QObject::tr("全部")&&errorType == 0)
strSql = QString("select count(uid) from RltTable where time >'%1' and time <'%2' ").arg(startTime).arg(endTime);
else if (stationName == QObject::tr("全部") && errorType == 1)
strSql = QString("select count(uid) from RltTable where time >'%1' and time <'%2' and errorType != '%3'").arg(startTime).arg(endTime).arg(0);
else if (stationName != QObject::tr("全部") && errorType == 1)
strSql = QString("select count(uid) from RltTable where time >'%1' and time <'%2' and errorType != '%3' and stationName == '%4' ").arg(startTime).arg(endTime).arg(0).arg(stationName);
else
strSql = QString("select count(uid) from RltTable where time >'%1' and time <'%2' and stationName == '%3'").arg(startTime).arg(endTime).arg(stationName);
QSqlQuery sqlquery;
m_db->checkoutData(strSql, sqlquery);
int totalNumber =0;
while (sqlquery.next())
{
QSqlRecord record = sqlquery.record();
QString fieldName = record.fieldName(0);
QString num = sqlquery.value(0).toString();
totalNumber = num.toInt();
// /*这里下面是统计查询到的通道对应的产品总数*/
}
return totalNumber;
}
Q_SLOT void QCheckDataDlg::onCheckOutData()
{
nTotlaNumber = 0;
nPrevNum = 0;
int limitNum = getLimitNumber();
nTotlaNumber = getTotalNumber();
onCheckOutData(limitNum, nPrevNum);
}
void QCheckDataDlg::onCheckOutData(int nLimitNum, int nPrenum)
{
QString startTime = pStartTimeEdit->dateTime().toString("yyyy-MM-dd hh:mm:ss zzz");
QString endTime = pEndTimeEdit->dateTime().toString("yyyy-MM-dd hh:mm:ss zzz");
QString stationName = getStationName();
int errorType = getErrorType();
QString strSql = QString();
if (stationName == QObject::tr("全部")&&errorType == 0)
strSql=QString("select * from RltTable where time >'%1' and time <'%2' LIMIT %3 OFFSET %4 ").arg(startTime).arg(endTime).arg(nLimitNum).arg(nPrenum);
else if (stationName == QObject::tr("全部") && errorType == 1)
strSql = QString("select * from RltTable where time >'%1' and time <'%2' and errorType != '%3' LIMIT %4 OFFSET %5 ").arg(startTime).arg(endTime).arg(0).arg(nLimitNum).arg(nPrenum);
else if (stationName != QObject::tr("全部") && errorType == 1)
strSql = QString("select * from RltTable where time >'%1' and time <'%2' and errorType != '%3' and stationName == '%4' LIMIT %5 OFFSET %6 ").arg(startTime).arg(endTime).arg(0).arg(stationName).arg(nLimitNum).arg(nPrenum);
else
strSql = QString("select * from RltTable where time >'%1' and time <'%2' and stationName == '%3' LIMIT %4 OFFSET %5 ").arg(startTime).arg(endTime).arg(stationName).arg(nLimitNum).arg(nPrenum);
QSqlQuery sqlquery;
m_db->checkoutData(strSql, sqlquery);
updateModelShowLog(sqlquery);
}
Q_SLOT void QCheckDataDlg::onChenckButton()
{
QString strObjName = sender()->objectName();
if (strObjName == "Next_checkShengchang")
{
if (nTotlaNumber <= 0)
return;
if (nPrevNum > nTotlaNumber)
return;
nPrevNum += getLimitNumber();
if (nPrevNum > nTotlaNumber)
{
nPrevNum -= getLimitNumber();
QMessageBox infobox(QMessageBox::Information, QObject::tr("提醒"), QObject::tr("已经是最后一页了"), QMessageBox::Ok, NULL);
infobox.setWindowIcon(QIcon(":/leaper/app.png"));
infobox.setButtonText(QMessageBox::Ok, QString(QObject::tr("确认")));
infobox.exec();
return;
}
onCheckOutData(getLimitNumber(), nPrevNum);
}
else if (strObjName == "Prev_checkShengchang")
{
if (nTotlaNumber <= 0)
return;
if (nPrevNum < 0)
return;
nPrevNum -= getLimitNumber();
if (nPrevNum < 0)
{
nPrevNum = 0;
QMessageBox infobox(QMessageBox::Information, QObject::tr("提醒"), QObject::tr("已经是第一页了"), QMessageBox::Ok, NULL);
infobox.setWindowIcon(QIcon(":/leaper/app.png"));
infobox.setButtonText(QMessageBox::Ok, QString(QObject::tr("确认")));
infobox.exec();
return;
}
onCheckOutData(getLimitNumber(), nPrevNum);
}
else if (strObjName == "m_pbCount")
{
QString startTime = pStartTimeEdit->dateTime().toString("yyyy-MM-dd hh:mm:ss zzz");
QString endTime = pEndTimeEdit->dateTime().toString("yyyy-MM-dd hh:mm:ss zzz");
QString stationName = getStationName();
QString strSql = QString();
if (stationName == QObject::tr("全部"))
strSql = QString("select errorType,count(uid) from RltTable where time >'%1' and time <'%2' group by errorType order by errorType").arg(startTime).arg(endTime);
else
strSql = QString("select errorType,count(uid) from RltTable where time >'%1' and time <'%2' and stationName == '%3' group by errorType order by errorType").arg(startTime).arg(endTime).arg(stationName);
QSqlQuery sqlquery;
m_db->checkoutData(strSql, sqlquery);
QMap<QString, int> nCountMap;
while (sqlquery.next())
{
QSqlRecord record = sqlquery.record();
QString fieldName = record.fieldName(0);
QString nType = sqlquery.value(0).toString();
int count = sqlquery.value(1).toInt();
nCountMap.insert(nType, count);
}
int TotalNumber = 0;
int ErrorNumber = 0;
textBrowser->clear();
for (QMap<QString, int>::iterator its = nCountMap.begin(); its != nCountMap.end();++its)
{
QString strKey = its.key();
int nValue = nCountMap.value(strKey);
QString str;
if (strKey != "0")
str = QString("errorType:%1 Sum:%2;").arg(strKey).arg(nValue);
else
str = QString("goodType Sum:%2;").arg(nValue);
TotalNumber += nValue;
if (strKey != "0")
{
ErrorNumber += nValue;
}
textBrowser->append(str);
}
QString strEnd = QString("ErrorNumber:%1\nTotalNumber:%2").arg(ErrorNumber).arg(TotalNumber);
textBrowser->append(strEnd);
}
}
void QCheckDataDlg::setStationNames(QStringList listNames)
{
ui.comboBox_station->addItems(listNames);
}
QString QCheckDataDlg::getStationName()
{
return ui.comboBox_station->currentText();
}
int QCheckDataDlg::getErrorType()
{
QString str = ui.comboBox_errorType->currentText();
if (str == QObject::tr("全部"))
return 0;
else
return 1;
}
void QCheckDataDlg::setPageShow(int page,int totalPage)
{
QString str = QString(QObject::tr("第%1页 共%2页")).arg(page).arg(totalPage);
ui.showPage_Label_Checkdata->setText(str);
}
Q_SLOT void QCheckDataDlg::onTBUI_ItemClick(const QModelIndex & index)
{
QModelIndex nindex = m_tableModel->index(index.row(), 0);
QString str = nindex.data().toString();
if (m_strMap.size() > 0)
{
QString strFileName = m_strMap.value(str);
if (check_showImg_label)
{
QPixmap npixmap;
QString appPath = QApplication::applicationDirPath();
npixmap.load(appPath+strFileName);
m_ViewImg->setImg(npixmap);
if (!npixmap.isNull()){
if (pShowName_label)
{
QFontMetrics fontMetrics(this->font());
int fontSize = fontMetrics.width(strFileName);
QString str = strFileName;
if (fontSize > pShowName_label->width())
{
str = fontMetrics.elidedText(strFileName, Qt::ElideRight, pShowName_label->width());
}
pShowName_label->setText(str);
}
}
else{
if (pShowName_label){
pShowName_label->setText(QObject::tr("无图片(或图片已过期/已被删除)"));
}
}
}
}
int i = 0;
}
Q_SLOT void QCheckDataDlg::onSlowPixmap(QSqlQuery sql)
{
static bool nFlag = false;
if (nFlag == true)
return;
nFlag = true;
sql.next();
double dHight = sql.value("hight").toDouble();
QByteArray pic = sql.value("pic").toByteArray();
QImage img = QImage::fromData(pic);
QSize s = img.size();
QPixmap m_Pix = QPixmap::fromImage(img);
{
int dhight = m_Pix.height();
int dwidth = m_Pix.width();
double nRate = m_Pix.width()*1.0 / m_Pix.height();
int scarew = 150;
int scareh = 150 * 1.0 / nRate;
if (scareh > 150)
{
scarew = 150;
scareh = 150 * 1.0 / nRate;
}
if (check_showImg_label)
{
m_ViewImg->setImg(m_Pix);
}
}
//label_6->setPixmap(m_Pix.scaled(WHEEL_PIC_SIZE, WHEEL_PIC_SIZE));
nFlag = false;
}

@ -0,0 +1,58 @@
#ifndef QCHECKDATADLG_H
#define QCHECKDATADLG_H
#include <QDialog>
#include "ui_qcheckdatadlg.h"
#include "stationdb.h"
#include "qsqlquery.h"
#include "qstandarditemmodel.h"
#include "qtableview.h"
#include "qdatetimeedit.h"
#include "QTextBrowser.h"
#include "cunstomgraphview.h"
class QCheckDataDlg : public QDialog
{
Q_OBJECT
public:
QCheckDataDlg(QWidget *parent = 0);
~QCheckDataDlg();
void setDbPtr(StationDB *pDb){ m_db = pDb; };
void setStationNames(QStringList listNames);
private:
Q_SLOT void onChenckButton();
Q_SLOT void onCheckOutData();
Q_SLOT void onTBUI_ItemClick(const QModelIndex & index);
Q_SLOT void onSlowPixmap(QSqlQuery sql);
private:
int getLimitNumber();
int getTotalNumber();
int getErrorType();
QString getStationName();
void createHeader();
void updateModelShowLog(QSqlQuery &sql);
void onCheckOutData(int nLimitNum, int nPrenum);
void setPageShow(int page, int totalPage);
private:
Ui::QCheckDataDlg ui;
QLabel *pShowName_label{ nullptr };
QLabel *check_showImg_label{ nullptr };
QTextBrowser *textBrowser{ nullptr };
StationDB *m_db{ nullptr };
QStandardItemModel *m_tableModel{ nullptr };
QTableView *tableView{ nullptr };
QDateTimeEdit *pStartTimeEdit{ nullptr };
QDateTimeEdit *pEndTimeEdit{ nullptr };
QMap<QString, QString> m_strMap;
int nPrevNum;
int nTotlaNumber;
QTpGraphView *m_ViewImg{ nullptr };
};
#endif // QCHECKDATADLG_H

@ -0,0 +1,386 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>QCheckDataDlg</class>
<widget class="QDialog" name="QCheckDataDlg">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>902</width>
<height>598</height>
</rect>
</property>
<property name="windowTitle">
<string>检测记录查询</string>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<item row="0" column="0">
<widget class="QSplitter" name="splitter_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<widget class="QFrame" name="frame_2">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>4</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="gridLayout_7">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<property name="spacing">
<number>0</number>
</property>
<item row="0" column="0">
<widget class="QSplitter" name="splitter">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
<horstretch>3</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="opaqueResize">
<bool>true</bool>
</property>
<property name="handleWidth">
<number>1</number>
</property>
<property name="childrenCollapsible">
<bool>true</bool>
</property>
<widget class="QGroupBox" name="groupBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>2</verstretch>
</sizepolicy>
</property>
<property name="title">
<string/>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
<widget class="QGroupBox" name="groupBox_3">
<property name="title">
<string>查询操作</string>
</property>
<layout class="QGridLayout" name="gridLayout_4">
<item row="3" column="1">
<widget class="QComboBox" name="comboBox_errorType">
<item>
<property name="text">
<string>全部</string>
</property>
</item>
<item>
<property name="text">
<string>error</string>
</property>
</item>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>结束时间:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QDateTimeEdit" name="dateTimeEdit_end"/>
</item>
<item row="2" column="1">
<widget class="QComboBox" name="comboBox_station">
<item>
<property name="text">
<string>全部</string>
</property>
</item>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>显示:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QDateTimeEdit" name="dateTimeEdit_start"/>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>起始时间:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>工位:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="0" column="2" rowspan="2">
<widget class="QPushButton" name="m_pbCheck">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>查询</string>
</property>
</widget>
</item>
<item row="0" column="3">
<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>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QGroupBox" name="groupBox_2">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>8</verstretch>
</sizepolicy>
</property>
<property name="title">
<string/>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="2" column="0">
<widget class="QLabel" name="labelTitle_Checkdata">
<property name="text">
<string>显示数据数(条)</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="LineNumber_checkShengchang">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>20</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>100</width>
<height>50</height>
</size>
</property>
<property name="text">
<string>50</string>
</property>
<property name="maxLength">
<number>4</number>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QPushButton" name="Prev_checkShengchang">
<property name="text">
<string>上一页</string>
</property>
</widget>
</item>
<item row="2" column="3">
<widget class="QLabel" name="showPage_Label_Checkdata">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item row="2" column="4">
<widget class="QPushButton" name="Next_checkShengchang">
<property name="text">
<string>下一页</string>
</property>
</widget>
</item>
<item row="2" column="5">
<spacer name="horizontalSpacer_9">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>151</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="2" column="6">
<widget class="QLabel" name="showNum_Label_Checkdata">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item row="0" column="0" colspan="7">
<widget class="QTableView" name="tableView"/>
</item>
<item row="1" column="0" colspan="7">
<widget class="QLabel" name="check_fileName">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
<widget class="QFrame" name="frame">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>6</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>250</width>
<height>0</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="gridLayout_6">
<item row="0" column="0">
<widget class="QSplitter" name="splitter_3">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<widget class="QGroupBox" name="groupBox_4">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>3</verstretch>
</sizepolicy>
</property>
<property name="title">
<string>统计</string>
</property>
<layout class="QGridLayout" name="gridLayout_5">
<item row="1" column="1" rowspan="2">
<widget class="QTextBrowser" name="textBrowser">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QPushButton" name="m_pbCount">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>统计当前设置的查询时间记录总数</string>
</property>
<property name="text">
<string>统计</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QLabel" name="check_showImg_label">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>6</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>300</width>
<height>300</height>
</size>
</property>
<property name="text">
<string/>
</property>
</widget>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
<layoutdefault spacing="6" margin="11"/>
<resources/>
<connections/>
</ui>

@ -29,6 +29,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tpCamHik", "tpCamHik\tpCamH
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tpCamVirtual", "tpCamVirtual\tpCamVirtual.vcxproj", "{707DDF6F-B78B-42F7-9EAD-E786C0FCD5FF}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Report", "Report\Report.vcxproj", "{B12702AD-ABFB-343A-A199-8E24837244A3}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
@ -123,6 +125,12 @@ Global
{707DDF6F-B78B-42F7-9EAD-E786C0FCD5FF}.Release|x64.Build.0 = Release|x64
{707DDF6F-B78B-42F7-9EAD-E786C0FCD5FF}.Release|x86.ActiveCfg = Release|Win32
{707DDF6F-B78B-42F7-9EAD-E786C0FCD5FF}.Release|x86.Build.0 = Release|Win32
{B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|x64.ActiveCfg = Debug|x64
{B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|x64.Build.0 = Debug|x64
{B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|x86.ActiveCfg = Debug|x64
{B12702AD-ABFB-343A-A199-8E24837244A3}.Release|x64.ActiveCfg = Release|x64
{B12702AD-ABFB-343A-A199-8E24837244A3}.Release|x64.Build.0 = Release|x64
{B12702AD-ABFB-343A-A199-8E24837244A3}.Release|x86.ActiveCfg = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

Loading…
Cancel
Save