内容簡介
1、使用預設分組建立和讀取資訊節點;
2、在自建分組中建立和讀取資訊節點;
3、在多級分組中建立和讀取資訊節點;
4、若分組中資訊節點的key已存在,使用setValue可直接修改該key值節點的相應資訊。
#include <QSettings>
#include <QDebug>
int main(int argc, char *argv[])
{
//1.建立Config.ini格式檔案
QSettings settings("./Config.ini", QSettings::IniFormat);
settings.setIniCodec("UTF-8");
settings.clear(); //若檔案已存在且不執行清除,則舊檔案中的資訊将保留
settings.setValue("Version", "1.0.0.1");
settings.setValue("Author", "fzq");
//添加教師資訊
settings.beginGroup("Teacher");
settings.setValue("Name", QString::fromUtf8("王老師"));
settings.setValue("Gender", QString::fromUtf8("男"));
settings.endGroup();
//添加學生資訊
settings.beginGroup("Student");
settings.beginGroup("Student1");
settings.setValue("Name", QString::fromUtf8("張三"));
settings.setValue("Gender", QString::fromUtf8("男"));
settings.beginWriteArray("Score");
settings.setArrayIndex(0);
settings.setValue("Math", 90);
settings.setValue("Chinese", "95");
settings.setArrayIndex(1);
settings.setValue("Math", 88);
settings.setValue("Chinese", "98");
settings.endArray();
settings.endGroup();
settings.beginGroup("Student2");
settings.setValue("Name", QString::fromUtf8("李四"));
settings.setValue("Gender", QString::fromUtf8("男"));
settings.beginWriteArray("Score");
settings.setArrayIndex(0);
settings.setValue("Math", 78);
settings.setValue("Chinese", "87");
settings.setArrayIndex(1);
settings.setValue("Math", 86);
settings.setValue("Chinese", "90");
settings.endArray();
settings.endGroup();
settings.endGroup();
//2.讀取Config.ini中的檔案資訊
QSettings reader("./Config.ini", QSettings::IniFormat);
reader.setIniCodec("UTF-8");
qDebug() << reader.value("Version").toString();
qDebug() << reader.value("Author").toString();
//讀取學生資訊
reader.beginGroup("Student/Student1");
qDebug() << reader.value("Name").toString();
qDebug() << reader.value("Gender").toString();
int iSize = reader.beginReadArray("Score"); //iSize為數組個數
reader.setArrayIndex(0);
qDebug() << reader.value("Math").toString();
qDebug() << reader.value("Chinese").toString();
reader.setArrayIndex(1);
qDebug() << reader.value("Math").toString();
qDebug() << reader.value("Chinese").toString();
reader.endArray();
reader.endGroup();
reader.beginGroup("Student");
reader.beginGroup("Student2");
qDebug() << reader.value("Name").toString();
qDebug() << reader.value("Gender").toString();
reader.beginReadArray("Score");
reader.setArrayIndex(1);
qDebug() << reader.value("Chinese").toString();
qDebug() << reader.value("Math").toString();
reader.setArrayIndex(0);
qDebug() << reader.value("Chinese").toString();
qDebug() << reader.value("Math").toString();
reader.endArray();
reader.endGroup();
reader.endGroup();
return 0;
}