qt读写ini文件
[group1]
key1=val1
key2=val2
sameKay=sameVal
[group2]
jian1=zhi1
jian2=zhi2
sameKay=sameZhi
比如创建插入一组ini文件,下面是文件写入的代码;
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文件的读取
第一种读取方式
//创建QSettings对象并指定ini文件路径并将格式设置为ini QSettings setting("./iniTest.ini", QSettings::IniFormat); //读取ini文件内容的第一种方法 qDebug() << "第一种读取方法"; foreach (QString key, setting.allKeys()) { //将当前的键值对打印输出 qDebug() << key << setting.value(key).toString(); }
第二种读取方式
好处:能指定读取某一组的内容
坏处:步骤相较第一种方式更加繁琐
//创建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(); }
读取结果示例
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧