这里是QT的一种用法,类似于boost库提供的序列化方法,但是更简洁,这里用的是QSettings的这个用法问题,方法如下:
首先创建一个文件为.ini格式的文件,文件内部的格式都类似如下格式:
此处是一种版本号的配置方法,类似于这种,
每个相同格式都要通过这个方法来打开并获取其中的内容。
QString fileName = srcDirPath + "/versions.ini";
//创建配置文件
QSettings iniFile(fileName, QSettings::IniFormat);//使用相对路径需要删除"项目==》shadow build选项"
iniFile.setIniCodec(QTextCodec::codecForName("utf-8")); //在此添加设置,即可读写ini文件中的中文
QString arrControl[] = {"qw", "wew", "ew", "re", "tr", "Controller3", "re", "TOF"};
for(int arr=0; arr<(int)(sizeof(arrControl)/sizeof(arrControl[0])); arr++)
{
iniFile.beginGroup(arrControl[arr]);
if(iniFile.value("size").toInt() > 0)
{
QString name = srcDirPath + "/" + iniFile.value("name").toString();
QString version = iniFile.value("version").toString();
int id = iniFile.value("id").toInt();
nameMap.insert(id, name);
versionMap.insert(id, version);
}
iniFile.endGroup();
}