一.INI文件-用"/"分两级
一.INI文件(用"/"分两级)。
1.1 ini文件
[General]
LastImgPath2=
[Section]
CurrentStartX=D:/CYF
CurrentStartY=2
CurrentStartZ=9
[Capture]
CurrentStartX=10
CurrentStartY=2
CurrentStartZ=9
二.XML文件-数组用","隔开
2.1 疑问点:调用子节点需调用两次firstChild。
2.2 xml文件
<?xml version='1.0' encoding='UTF-8'?>
<!--离开是为了更好的归来-->
<?xml-stylesheet type="text/css" href="style.css"?>
<library Version="2.1">
<item type="QString" name="Section/CurrentStartX">
<value>D:/加油</value>
</item>
<item type="QString" name="appPath">
<value>D:/DXF</value>
</item>
<item type="bool" name="iReferHorizontal">
<value>true</value>
</item>
<item type="bool" name="iReferVertical">
<value>false</value>
</item>
<item type="int" name="iLength_ROI">
<value>3</value>
</item>
<item type="int" name="iWidth_ROI">
<value>5</value>
</item>
<Array type="int" name="A">
<value>3,1,2</value>
</Array>
<Array type="QString" name="B">
<value>N,B,A</value>
</Array>
</library>
三.TXT文件-数组用" "隔开
3.1 txt文件
1 40 53 42 56
1 40 53 42 56
1 42 53 44 54
8 44 53 44 50
10 42 50 46 51
31 42 50 44 52
105 42 50 44 54
3.2 读txt
//第一步,通过txt文件获取每层范围,并记录最大范围
QString sPath_txt=m_sPathIn+"/roi.txt";//D:/Code/QListView/debug/COM_3/鼠脑.txt
QFile fileTxt(sPath_txt);//D:/Code/QListView/debug/COM_3/模板/鼠脑.txt
if(!fileTxt.open(QIODevice::ReadOnly | QIODevice::Text))
{
//emit MessageEmit(QString("无法打开roi.txt文件"));
return;
}
QTextStream txtInput(&fileTxt);//D:/Code/QListView/debug/COM_3/模板/鼠脑.txt
QString lineStr;
bool bHaveValue = false;
//int nXmin,nXmax,nYmin,nYmax;
while(!txtInput.atEnd())
{
lineStr = txtInput.readLine();
QStringList sList=lineStr.split(' ');//按空格分隔
if(sList.size()<5) continue;
int nVal = sList[0].toInt();
int nLayer = (nVal-1)*m_nNum + 1;
int nX1=sList[1].toInt(),nX2=sList[2].toInt();
int nY1=sList[3].toInt(),nY2=sList[4].toInt();
QString sText = QString::number(nX1)+','+QString::number(nX2)+','+QString::number(nY1)+','+QString::number(nY2);
m_MapRange1[nLayer] = sText;
if(!bHaveValue){
m_nXmin=nX1,m_nXmax=nX2,m_nYmin=nY1,m_nYmax=nY1;
bHaveValue = true;
}
if(nX1<m_nXmin) m_nXmin=nX1;
if(nX2>m_nXmax) m_nXmax=nX2;
if(nY1<m_nYmin) m_nYmin=nY1;
if(nY2>m_nYmax) m_nYmax=nY2;
}
fileTxt.close();
3.3 写txt
QFile file("相机温度监测.txt");
if(file.open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Append))
{
QTextStream txtOutput(&file);
QString sDateTime = QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss");//日期时间 //事件日志
txtOutput<<sDateTime<<'\t'<<sTemperature1<<'\t'<<sTemperature2<<endl;//<<'\t'
file.close();
}
return true;