ini读写——Qt的QSettings
1、注意中文乱码的情况,如界面、qDebug、cmd、ini里
2、注释用英文分号,不用#
创建Widget界面项目,托放一个Label,核心代码如下
#include <QSettings> #include <QDebug> #pragma execution_character_set("utf-8") //防止中文乱码,如界面、qDebug、cmd窗口 Widget::Widget(QWidget *parent) : QWidget(parent) , ui(new Ui::Widget) { ui->setupUi(this); ui->label->setText("中文"); //指定ini文件,若无则自动创建 QSettings *pIni = new QSettings("config.ini", QSettings::IniFormat); //防止ini文件里中文乱码 pIni->setIniCodec("UTF-8"); //写 /* pIni->setValue("con/ip", "192.168.0.1"); pIni->setValue("con/name", "aa"); pIni->setValue("con/name2", "中文"); //pIni->beginGroup("con");//条目多用这种写法比较方便 //pIni->setValue("ip", "192.168.0.1"); //pIni->setValue("name", "aa"); //pIni->setValue("name2", "中文"); //pIni->endGroup(); pIni->setValue("port/int", "10"); pIni->setValue("port/double","0.1"); pIni->setValue("port/bool","true"); pIni->setValue("port/ports", "2222,111,33,444"); */ //读 int a=pIni->value("port/int","5").toInt(); double b=pIni->value("port/double","5.0").toDouble(); bool c=pIni->value("port/bool","false").toBool(); QString d=pIni->value("con/name2","默认值").toString(); //读取所有Key foreach(QString key,pIni->allKeys()) { qDebug() << key << pIni->value(key).toString(); } //读取某一组 pIni->beginGroup("port"); foreach(QString key,pIni->childKeys()) { qDebug() << key << pIni->value(key).toString(); } pIni->endGroup(); //读取所有组名 foreach(QString key,pIni->childGroups()) { qDebug() << key; } //查看结果 qDebug()<<a<<b<<c<<d; //释放,方便再指向另一个ini文件 delete pIni; pIni=nullptr; }
分类:
ini配置文件
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2020-08-08 打包exe(使用Inno Setup)
2017-08-08 字符串操作:判断相等、判断首尾、大小写转换
2017-08-08 字符串操作:索引位置、去空格、替换字符串
2016-08-08 批量处理图像并保存
2016-08-08 txt文件的读取