// 从上一步接收文件名参数界面切换槽函数 void CorrectClearanceWidget::slotSelectedTunnelToEdit(int tunnelid, QString signalfilename, bool carriagedir) { if (isfileopen_syn) { qDebug() << "There is other file open, close it first please.!"; return; } QByteArray ba = signalfilename.toLocal8Bit(); synfilename = string(ba.constData()); QFileInfo info(signalfilename); QString logname = QStringList(info.fileName().split(".")).at(0); currenttunnelid = tunnelid; currenttunnelname = QStringList(logname.split("_")).at(0); currenttunneldate = QStringList(logname.split("_")).at(1); currentCarriageDirection = carriagedir; mile = 0; framecounter = 0; QString logfilename1 = info.path() + "/" + logname + "_correct.log"; ba = logfilename1.toLocal8Bit(); logfilename = string(ba.constData()); qDebug() << "CorrectClearanceWidget slotSelectedTunnelToEdit Receive signal QString" << signalfilename << ",logfilename" << logfilename1; bool ret; TunnelDataModel *tunnelDataModel = ClientSetting::getSettingInstance()->getCorrectTunnelDataModel(ret); if (ret) { ui->lineEdit_name->setText(QString(tr("%1")).arg(QString::fromLocal8Bit(tunnelDataModel->getName().c_str()))); ui->lineEdit_startPoint->setText(QString("%1").arg(tunnelDataModel->getStartPoint())); ui->lineEdit_endPoint->setText(QString("%1").arg(tunnelDataModel->getEndPoint())); } else { ui->lineEdit_name->setText(""); ui->lineEdit_startPoint->setText("0"); ui->lineEdit_endPoint->setText("0"); } ui->framenumberlabel->setText(QString("%1").arg(framecounter)); ui->milelabel->setText(QString("%1").arg((long long)mile)); ui->htmlPreviewButton->setEnabled(false); ui->excelPreviewButton->setEnabled(false); // 初始未在编辑 iseditingsection = false; }
int main(int argc, char *argv[]) { QApplication a(argc, argv); /*******************************/ QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK")); //当QString变量中含有中文时,需要增加这两行代码 QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK")); qDebug() << "helloworld"; QString filename = "./database/stu_analysis.s3db"; if (!CREATE_MYSQL_CONNECTION(filename)) return 1; // 测试用mysqldump.exe程序备份数据库 //DumpDatabase::getDumpDatabaseInstance()->backupDatabase(QString("D://backup_2_20140305.sql"), 2); //DumpDatabase::getDumpDatabaseInstance()->backupDatabase(QString("D://backup_1_20140305.sql"), 1); // 测试用mysql.exe更新数据库 DumpDatabase::getDumpDatabaseInstance()->clearAndReloadDababase("D://backup_2_20140305.sql"); // 测试自己写更新数据库 //DumpDatabase::getDumpDatabaseInstance()->updateDatabase("D://backup_2_20140305.sql"); // 测试基础隧道信息用的 TunnelDataModel * m = new TunnelDataModel(656); m->loadTunnelData(); qDebug() << "id" << m->getId() << "name" << QString::fromLocal8Bit(m->getName().c_str()) << "idstd" << m->getIdStd().c_str() << "isdouble" << m->getIsDoubleLine() << "isdownlink" << m->getIsDownlink() << "isnew" << m->getIsNew() << "linetype" << m->getLineType() << "endpoint" << m->getEndPoint() << "startpoint" << m->getStartPoint() << "lineid" << m->getLineid() << "linename" << QString::fromLocal8Bit(m->getLinename().c_str()); qDebug() << "list size:" << m->getCurveList().size() << m->getNumberOfLeftCurves() << m->getNumberOfRightCurves() << m->getNumberOfStrights(); for (list<CurveDataModel>::iterator it = m->begin(); it != m->end(); it++) { qDebug() << "hahaha" << it->radius << it->isLeft; } XMLSynthesisHeightsFileLoader * ff3 = new XMLSynthesisHeightsFileLoader("output_heights.xml"); ff3->loadFile(); delete ff3; // 测试隧道限界数据存入数据库 ClearanceData data; data.initMaps(); data.updateToMapVals(150, 20, 5000, -1, -1, true); data.updateToMapVals(150, 30, 5000, -1, -1, false); data.updateToMapVals(200, 22, 5000, -1, -1, false); data.updateToMapVals(300, 543, 5000, -1, -1, false); data.updateToMapVals(350, 4353, 5000, -1, -1, false); data.updateToMapVals(500, 123, 5000, -1, -1, false); data.updateToMapVals(600, 34, 5000, -1, -1, false); data.updateToMapVals(800, 455, 5000, -1, -1, false); data.updateToMapVals(1000, 234, 5000, -1, -1, false); data.updateToMapVals(1100, 888, 5000, -1, -1, false); data.updateToMapVals(1210, 666, 5000, -1, -1, false); data.updateToMapVals(5000, 3456, 5000, -1, -1, false); data.updateToMapVals(5200, 230, 5000, -1, -1, true); data.updateToMapVals(5200, 356, 5000, -1, -1, false); data.updateToMapVals(6400, 230, 5000, -1, -1, true); data.updateToMapVals(7000, 356, 5000, -1, -1, false); data.updateToMapVals(2222, 123, 5000, -1, -1, true); ClearanceType type = Straight_Smallest; int ret1 = ClearanceOutputDAO::getClearanceOutputDAOInstance()->clearanceDataToDBData(data, 6, type); qDebug() << "clearanceDataToDBData" << ret1; // 测试隧道限界数据从数据库中读出 ClearanceData dataread; dataread.initMaps(); bool ret = ClearanceOutputDAO::getClearanceOutputDAOInstance()->DBDataToClearanceData(dataread, 6, type); qDebug() << "DBDataToClearanceData" << ret; dataread.showMaps(); // 多隧道综合测试 std::list<long> abc; abc.push_back(1); abc.push_back(2); abc.push_back(3); abc.push_back(4); abc.push_back(5); int numl,numr,nums; LzNTunnelsSynthesis lznsyn; lznsyn.initSynthesis(abc); lznsyn.synthesis(dataread, dataread, dataread, nums, numl, numr); return a.exec(); }