//目前实测的的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 文件是Initialization File的缩写,即初始化文件,是windows的系统配置文件所采用的存储格式,统管windows的各项配置。
INI文件由节、键、值组成。ini配置文件的后缀名也不一定必须是“.ini”,有时候也可以是“.cfg”、“.conf”或者是“.txt”等等。
节(section)
[section],section不一定是这个名称,可以自己取名,比如字体的配置,可以使用[font]
参数(parameter)
(键=值)
name=value(key = value),比如字体大小,FontPointsize = 16;这时候键(key )就是FontPointsize,值(value)就是16。
注解(comments)
注解使用分号表示(;)。在分号后面的文字,直到该行结尾都全部为注解。
一个关于串口的示例:
; exp ini file
[Serial]
port=0
baudrate=4
databit=0
parity=0
stopbit=0
关于ini文件可以参考文章《ini配置文件格式》和百度百科
https://blog.csdn.net/a123441/article/details/90668032
https://baike.baidu.com/item/ini%E6%96%87%E4%BB%B6/9718973?fr=aladdin