Files
handleaiuinew/HanddleAI/HandleAiUi-new/main.cpp
T

88 lines
3.1 KiB
C++

#include "mainwindow.h"
#include <QApplication>
#include <QSystemSemaphore>
#include <QSharedMemory>
#include <QMessageLogger>//日志
#include <QDebug>
#include <qmessagebox.h>
#include <qpushbutton.h>
#include <qlineedit.h>
#include <qlabel.h>
#include <qcombobox.h>
#include <backEndManager.h>
#include <QMetaType>
#include <globalStruct.h>
#include <back/logmsg.h>
void connectSignalAndSlots(MainWindow* front, backEndManager* back)
{
QObject::connect(back, &backEndManager::sendPixmapImageWidget, front, &MainWindow::recvPixmapImageWidget);
QObject::connect(back, &backEndManager::sendInitString, front, &MainWindow::recvInitString);
QObject::connect(back, &backEndManager::sendInitFinished, front, &MainWindow::recvInitFinished);
QObject::connect(front, &MainWindow::reInitSignal, back, &backEndManager::initialization);
QObject::connect(front->_loadingWidget.retryBtn, &QPushButton::clicked, back, &backEndManager::initialization);
}
//exmple 860 168/144 1
QByteArray createReadPlcQByteArray(int pos, int areaCode, int lenth)
{
int pos1 = std::max(0, pos - 255);
int pos2 = pos - pos1;
QString str1 = QString("%1").arg(pos1, 2, 16, QLatin1Char('0')).toUpper();
QString str2 = QString("%1").arg(pos2, 2, 16, QLatin1Char('0')).toUpper();
QString str3 = QString("%1").arg(lenth, 2, 16, QLatin1Char('0')).toUpper();
QString str = QString("50 00 00 FF FF 03 00 0C 00 0A 00 01 04 00 00 %1 %2 00 %3 %4 00")
.arg(str1)
.arg(str2)
.arg(QString::number(areaCode, 16).toUpper())
.arg(str3);
return QByteArray::fromHex(str.toStdString().c_str());
}
//exmple 862 168/144 1 1
QByteArray createwritePlcQByteArray(int pos, int areaCode, int lenth, int value)
{
int pos1 = std::max(0, pos - 255);
int pos2 = pos - pos1;
QString str1 = QString("%1").arg(pos1, 2, 16, QLatin1Char('0')).toUpper();
QString str2 = QString("%1").arg(pos2, 2, 16, QLatin1Char('0')).toUpper();
QString str3 = QString("%1").arg(lenth, 2, 16, QLatin1Char('0')).toUpper();
QString str4 = QString("%1").arg(value, 2, 16, QLatin1Char('0')).toUpper();
QString str = QString("50 00 00 FF FF 03 00 0E 00 0A 00 01 14 00 00 %1 %2 00 %3 00 %4 00 %5 00")
.arg(str1)
.arg(str2)
.arg(QString::number(areaCode, 16).toUpper())
.arg(str3)
.arg(str4);
return QByteArray::fromHex(str.toStdString().c_str());
}
int main(int argc, char* argv[])
{
QByteArray r = createReadPlcQByteArray(102, 168, 1);
QApplication a(argc, argv);
LogMsg::Create(LogMsg::LogMsgType::DebugMsg);
//检测是否已运行
QSystemSemaphore sema("monkey", 1, QSystemSemaphore::Open);
sema.acquire();
QSharedMemory mem("DetUi");
if (mem.create(1) == false)
{
sema.release();
//程序直接退出
exit(0);
}
sema.release();
//////////
qRegisterMetaType<imgWidgetShowType>("imgWidgetShowType");
qRegisterMetaType<showImgPack>("showImgPack");
MainWindow w;
w.show();
backEndManager _backEnd;
connectSignalAndSlots(&w,&_backEnd);
_backEnd.initialization();
return a.exec();
}