Qt读写ini文件

摘要:
一、 背景1.1ini文件简介ini文件是InitializationFile的缩写,即初始化文件。除了Windows,其他操作系统下的许多应用程序也具有。ini文件,用于配置应用程序以满足不同用户的需求。通常不需要直接编辑这些Ini文件,可以操作应用程序的图形界面来实现相同的功能。2ini文件格式INI文件由节、键和值组成。节[Section]参数(key=value)name=value以下是ini文件[Section 1Name]KeyName 1=value 1 KeyName 2=value 2…[Section 2Name]KeyName21=value 21 KeyName 22=value 22的示例,其中:[Section 1Name]用于表示段落。

一 背景

1 ini文件介绍

.ini 文件是Initialization File的缩写,即初始化文件。

除了windows现在很多其他操作系统下面的应用软件也有.ini文件,用来配置应用软件以实现不同用户的要求。一般不用直接编辑这些.ini文件,应用程序的图形界面即可操作以实现相同的功能。它可以用来存放软件信息,注册表信息等。

2 ini文件格式

INI文件由节、键、值组成。 

  [section] 

参数(键=值)

name=value

下面是一个ini文件的例子

[Section1 Name]   

KeyName1=value1   

KeyName2=value2   

...   

[Section2 Name]   

KeyName21=value21   

KeyName22=value22   

其中:[Section1 Name]用来表示一个段落。因为INI文件可能是项目中共用的,所以使用[Section Name]段名来区分不同用途的参数区。例如:[Section1 Name]表示传感器灵敏度参数区;[Section2 Name]表示测量通道参数区等等。

注解:使用分号表示(;)。在分号后面的文字,直到该行结尾都全部为注解。

二 Qt写ini文件

  1.  
    #include <QtCore/QCoreApplication>
  2.  
    #include <QSettings>
  3.  
    int main(int argc, char *argv[])
  4.  
    {
  5.  
    QCoreApplication a(argc, argv);
  6.  
    //Qt中使用QSettings类读写ini文件
  7.  
    //QSettings构造函数的第一个参数是ini文件的路径,第二个参数表示针对ini文件,第三个参数可以缺省
  8.  
    QSettings *configIniWrite = new QSettings("hahaya.ini", QSettings::IniFormat);
  9.  
    //向ini文件中写入内容,setValue函数的两个参数是键值对
  10.  
    //向ini文件的第一个节写入内容,ip节下的第一个参数
  11.  
    configIniWrite->setValue("/ip/first", "192.168.0.1");
  12.  
    //向ini文件的第一个节写入内容,ip节下的第二个参数
  13.  
    configIniWrite->setValue("ip/second", "127.0.0.1");
  14.  
    //向ini文件的第二个节写入内容,port节下的第一个参数
  15.  
    configIniWrite->setValue("port/open", "2222");
  16.  
    //写入完成后删除指针
  17.  
    delete configIniWrite;
  18.  
     
  19.  
    return a.exec();
  20.  
    }


 

运行程序后,打开程序目录下的hahaya.ini文件,结果如下图所示:

Qt读写ini文件第1张

三 Qt读ini文件

  1.  
    #include <QtCore/QCoreApplication>
  2.  
    #include <QSettings>
  3.  
    #include <QString>
  4.  
    #include <QDebug>
  5.  
    int main(int argc, char *argv[])
  6.  
    {
  7.  
    QCoreApplication a(argc, argv);
  8.  
     
  9.  
    QSettings *configIniRead = new QSettings("hahaya.ini", QSettings::IniFormat);
  10.  
    //将读取到的ini文件保存在QString中,先取值,然后通过toString()函数转换成QString类型
  11.  
    QString ipResult = configIniRead->value("/ip/second").toString();
  12.  
    QString portResult = configIniRead->value("/port/open").toString();
  13.  
    //打印得到的结果
  14.  
    qDebug() << ipResult;
  15.  
    qDebug() << portResult;
  16.  
    //读入入完成后删除指针
  17.  
    delete configIniRead;
  18.  
    return a.exec();
  19.  
    }


 

程序运行截图:

Qt读写ini文件第2张

转自:https://blog.csdn.net/qiurisuixiang/article/details/7760828

免责声明:文章转载自《Qt读写ini文件》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Docker部署VueNginx启动/重启脚本详解下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

《Linux内核Makefile分析》之 auto.conf, auto.conf.cmd, autoconf.h【转】

转自:http://blog.sina.com.cn/s/blog_87c063060101l25y.html 转载:http://blog.csdn.net/lcw_202/article/details/6661364 在编译构建性目标时(如 make vmlinux),顶层 Makefile 的 $(dot-config) 变量值为 1 。 在顶层...

Android游戏开发实践(1)之NDK与JNI开发01

Android游戏开发实践(1)之NDK与JNI开发01 NDK是Native Developement Kit的缩写,顾名思义,NDK是Google提供的一套原生Java代码与本地C/C++代码“交互”的开发工具集。而Android是运行在Dalvik虚拟机之上,支持通过JNI的方式调用本地C/C++动态链接库。C/C++有着较高的性能和移植性,通过这种...

HDU 2064 汉诺塔III(递归)

题目链接 Problem Description 约19世纪末,在欧州的商店中出售一种智力玩具,在一块铜板上有三根杆,最左边的杆上自上而下、由小到大顺序串着由64个圆盘构成的塔。目的是将最左边杆上的盘全部移到右边的杆上,条件是一次只能移动一个盘,且不允许大盘放在小盘的上面。现在我们改变游戏的玩法,不允许直接从最左(右)边移到最右(左)边(每次移动一定是移到...

浅析linux中鼠标数据读取

http://blog.chinaunix.net/u3/108121/showart_2282259.htmlluther@gliethttp:~$ ll /dev/input/micecrw-rw---- 1 root root 13, 63 2009-07-09 15:54 /dev/input/mice我们就是去读/dev/input /mice设...

《C++ Qt设计模式》 第一章 C++ 简介

第1 章 C++简介 内容: 编译相关     Qt提供了一个qmake工具,它会产生Makefile 文件。使用qmake -project 命令产生一个简单的工程文件。当执行这个命令时,qmake 会将当前工作目录下的全部源文件作为SOURCES列出来,而将全部头文件作为HEADERS 列出来     使用make 重新编译那些发生了变化的文件,或...

Linux下的头文件搜索路径

对于以压缩包发布的软件,在它的目录下通常都有一个配置脚本configure,它的作用确定编译参数(比如头文件位置、连接库位置等),然后生成Makefile以编译程序。可以进入该软件的目录,执行"./configure --help"命令查看使用帮。 一个程序能正确编译、链接、运行需要满足3个条件:预处理时能找到头文件,连接时能找到库(静态库或动态库),运...