目前實測的的qt的[section]和[parameter]是通過/隔開的
//配置文件路徑 QSettings config = new QSettings(QApplication::applicationDirPath() + "/test.ini",QSettings::IniFormat);
//設置配置文件, 寫入值 config->setValue("test2",1); //不指定節(section)的話默認的[General] config->setValue("/task1/task1",1); //指定節(section)爲[task1],創建一個key爲task1,value爲1的參數(parameter) config->setValue("/task2/task2",1); //指定節(section)爲[task2] 創建一個key爲task2,value爲1的參數(parameter) //讀取配置文件 QString str = config->value("/task2/task2").toString(); //獲取配置文件[task2]下的task2的值 //刪除配置文件下的[task1]的所有內容 configIni->remove("/task1");
test.ini
未刪除前
[General]
test1=1
[task1]
task1=1
[task2]
task2=1
刪除後
[General]
test1=1
[task2]
task2=1
另外查了一些軟件下的一些配置文件的,一般情況下配置文件的key首字母好像都是大寫,上面做了一個很不好的示範,不知道規範點的ini文件是不是首字母都是大寫,這個有待商榷。以下是一些軟件的配置文件,僅供學習使用,商業用途請聯繫原軟件公司,版權歸原來軟件公司所有,如有侵權請聯繫刪除。
[Main]
Site=1
AutoClick=1
AlphaBlend=255
TMainFormTop=661
TMainFormLeft=1041
TMainFormHeight=219
TMainFormWidth=457
TMainFormState=0
FitWidth=0
EnableKeyRepeat=1
[DlgCreateClient]
LastIP=192.168.5.121
LastPort=8080
LastLocalPort=-1
LastType=0
[DlgDataView]
SendHex=0
[DlgCreateServer]
DlgServerPort=10001
[Update]
Time=1511941579
[SysOptions]
SendBlSZforFile=1472
SendBlITforFile=1
RecCycleforSaveFile=100
RecBufferSize=1048576
另外常用的還有qt文檔中的:
1、allKeys
QSettings settings;
settings.setValue("fridge/color", QColor(Qt::white));
settings.setValue("fridge/size", QSize(32, 96));
settings.setValue("sofa", true);
settings.setValue("tv", false);
QStringList keys = settings.allKeys();
// keys: ["fridge/color", "fridge/size", "sofa", "tv"]
2、childGroups
QSettings settings;
settings.setValue("fridge/color", QColor(Qt::white));
settings.setValue("fridge/size", QSize(32, 96));
settings.setValue("sofa", true);
settings.setValue("tv", false);
QStringList groups = settings.childGroups();
// groups: ["fridge"]
3、childKeys
QSettings settings;
settings.setValue("fridge/color", QColor(Qt::white));
settings.setValue("fridge/size", QSize(32, 96));
settings.setValue("sofa", true);
settings.setValue("tv", false);
QStringList keys = settings.childKeys();
// keys: ["sofa", "tv"]
If a group is set using beginGroup(), the top-level keys in that group are returned, without the group prefix:
settings.beginGroup("fridge");
keys = settings.childKeys();
// keys: ["color", "size"]
關於ini文件可以參考文章《ini配置文件格式》: