PlotterHMI/main.cpp
2024-02-06 14:19:53 +08:00

89 lines
2.4 KiB
C++

#include <QApplication>
#include <QtConcurrent>
#define _IN_MAIN_CPP
#include "main.h"
#include "mainwindow.h"
int main(int argc,char *argv[])
{
QApplication app(argc, argv);
//支持中文编码
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));
//下位机通讯
//上次所连接机器的IP
QDir apppath(qApp->applicationDirPath());
QString configfile;
configfile = apppath.path() + apppath.separator() + "config.ini";
QSettings settings(configfile, QSettings::IniFormat);
QString localIp = "192.168.16.41";
quint16 localPort = 5001;
QFile iniFile(configfile);
if(!iniFile.exists())//配置文件不存在
{
settings.setValue("Local/ip","192.168.16.41");
settings.setValue("Local/port",5001);
}
else
{
//本地IP和端口
localIp = settings.value("Local/ip").toString();
localPort = settings.value("Local/port").toInt();
}
g_machineList.clear();
int num = 0;
for(int i = 1; i <= MACHINE_NUM; i++)
{
QString str = "MachineNo" + QString::number(i);
QString strKey = str + "/name";
bool bl = settings.contains(strKey);
if(bl == true)
{
num++;
//建立连接
QString mcIp = settings.value(str+"/ip").toString();
quint16 mcPort = settings.value(str+"/port").toInt();
QString mcName = settings.value(str+"/name").toString();
Machine *pMachine = new Machine(); //建立连接
pMachine->setIpAndPort(mcName,mcIp,mcPort,localIp,localPort);//设置IP和端口
pMachine->startCommunication();
McPrintInfo mcf;
mcf.m_mcNum = num;
mcf.m_mcName = mcName;
mcf.m_ip = mcIp;
mcf.m_port = mcPort;
pMachine->m_mcPrintInfo = mcf;
g_machineList.append(pMachine);
}
}
MainWindow mainWi;
mainWi.initAllWinForm();
mainWi.show();
#if(0)
#if(1)
//有机器连接时才加载自动绘图目录
if(machineList.size() > 0)
{
mainWi.loadAutoPrintDirFiles();
}
#else
if(machineList.size() > 0)
{
QtConcurrent::run(&mainWi, &MainWindow::loadAutoPrintDirFiles);//并发线程的使用,为了避免同时加载窗体和加载文件时的窗体卡顿
}
#endif
#endif
app.exec();
return 0;
}