qt ini文件的读、写、删除

//目前实测的的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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值