zoukankan      html  css  js  c++  java
  • Qt读写ini文件

    一 背景

    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.  
      #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.  
      }


     

    程序运行截图:

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

  • 相关阅读:
    iOS UITextField 设置内边距
    营造积极的OKR环境
    管理者的五项基本活动
    如何在团队中让OKR深入人心
    项目管理文化:营造积极氛围的里程碑
    OKR文化:用SMART原则量化目标
    成功落地OKR的要诀
    培养一支有 OKR 思想的管理团队
    如何成为一个成功的会议领导者
    项目管理文化:开展有效的总结会议
  • 原文地址:https://www.cnblogs.com/liushui-sky/p/9668459.html
Copyright © 2011-2022 走看看