一背景
1ini 文件介绍
.ini 文件是 InitializationFile 的缩写,即初始化文件。
除了 windows 现在很多其他操作系统下面的应用 软件也有 .ini 文件,用来配置应用软件以实现不同用户的要求。一般不用直接编辑这些 .ini 文件 ,应用程序的图形界面即可操作以实现相同的功能。它可以用来存放软件信息 , 注册表信息等。
2ini 文件格式
INI 文件由节、键、值组成。
节
[section]
参数(键 = 值)
name=value
下面是一个 ini 文件的例子
[Section1Name]
KeyName1=value1
KeyName2=value2
...
[Section2Name]
KeyName21=value21
KeyName22=value22
其中: [Section1Name] 用来表示一个段落。因为 INI 文件可能是项目中共用的,所以使用 [SectionName] 段名来区分不同用途的参数区。例如: [Section1Name] 表示传感器灵敏度参数区; [Section2Name] 表示测量通道参数区等等。
注解:使用分号表示( ; )。在分号后面的文字,直到该行结尾都全部为注解。
二Qt 写 ini 文件
#include <QtCore/QCoreApplication> #include <QSettings> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); //Qt中使用QSettings类读写ini文件 //QSettings构造函数的第一个参数是ini文件的路径,第二个参数表示针对ini文件,第三个参数可以缺省 QSettings *configIniWrite = new QSettings("hahaya.ini", QSettings::IniFormat); //向ini文件中写入内容,setValue函数的两个参数是键值对 //向ini文件的第一个节写入内容,ip节下的第一个参数 configIniWrite->setValue("/ip/first", "192.168.0.1"); //向ini文件的第一个节写入内容,ip节下的第二个参数 configIniWrite->setValue("ip/second", "127.0.0.1"); //向ini文件的第二个节写入内容,port节下的第一个参数 configIniWrite->setValue("port/open", "2222"); //写入完成后删除指针 delete configIniWrite; return a.exec(); }
运行程序后,打开程序目录下的 hahaya.ini 文件,结果如下图所示:
三 Qt 读 ini 文件
#include <QtCore/QCoreApplication> #include <QSettings> #include <QString> #include <QDebug> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QSettings *configIniRead = new QSettings("hahaya.ini", QSettings::IniFormat); //将读取到的ini文件保存在QString中,先取值,然后通过toString()函数转换成QString类型 QString ipResult = configIniRead->value("/ip/second").toString(); QString portResult = configIniRead->value("/port/open").toString(); //打印得到的结果 qDebug() << ipResult; qDebug() << portResult; //读入入完成后删除指针 delete configIniRead; return a.exec(); }
程序运行截图: