Qt读写ini文件(含源码+注释)

文章目录

一、示例Ini文件内容

下方为本文所使用的ini文件的内容

[group1]
key1=val1
key2=val2
sameKay=sameVal

[group2]
jian1=zhi1
jian2=zhi2
sameKay=sameZhi

二、Ini文件的写入

ini文件不需要像xml和json一样需要使用QFile打开文件,只需将文件路径及文件格式传入即可(下方代码运行完毕,ini文件则会更新,若文件不存在,会自动创建)

    //创建QSettings对象并指定ini文件路径并将格式设置为ini
    QSettings setting("./iniTest.ini", QSettings::IniFormat);
    //创建第一个分组(创建分组的第一种方法)
    setting.beginGroup("group1");
    //添加第一个分组中的键值对
    setting.setValue("key1", "val1");
    setting.setValue("key2", "val2");
    setting.setValue("sameKay", "sameVal");
    //设置当前分组结束
    setting.endGroup();
    //添加第二个分组以及其键值对(创建分组的第二种方法)
    setting.setValue("group2/jian1", "zhi1");
    setting.setValue("group2/jian2", "zhi2");
    setting.setValue("group2/sameKay", "sameZhi");

三、Ini文件的读取

3.1 第一种读取方式

好处:步骤不那么繁琐,代码简洁
坏处:不能指定读取某一组的内容,必须读取ini文件所有内容

	//创建QSettings对象并指定ini文件路径并将格式设置为ini
    QSettings setting("./iniTest.ini", QSettings::IniFormat);
    //读取ini文件内容的第一种方法
    qDebug() << "第一种读取方法";
    foreach (QString key, setting.allKeys())
    { 
        //将当前的键值对打印输出
        qDebug() << key << setting.value(key).toString();
    }

3.2 第二种读取方式

好处:能指定读取某一组的内容
坏处:步骤相较第一种方式更加繁琐

	//创建QSettings对象并指定ini文件路径并将格式设置为ini
    QSettings setting("./iniTest.ini", QSettings::IniFormat);
	qDebug() << "第二种读取方法";
    //获取ini文件中所有的组
    QStringList groupList = setting.childGroups();
    //指定读取某组的数据
    setting.beginGroup(groupList[1]);
    //遍历该组的键
    foreach (QString key, setting.childKeys())
    { 
        //将当前的键值对打印输出
        qDebug() << key << setting.value(key).toString();
    }

3.3 读取结果示例

下方为两种读取方法输出示例
《Qt读写ini文件(含源码+注释)》

相关文章

Qt写入Json文件(含源码+注释)
Qt读Json文件(含源码+注释)
Qt读写XML文件(含源码+注释)

友情提示——哪里看不懂可私哦,让我们一起互相进步吧
(创作不易,请留下一个免费的赞叭 谢谢 ^o^/)

注:文章为作者编程过程中所遇到的问题和总结,内容仅供参考,若有错误欢迎指出。
注:如有侵权,请联系作者删除

    原文作者:lw只吃亿点.
    原文地址: https://blog.csdn.net/wj584652425/article/details/124237709
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞