#include #include #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; }