Qt QSettings操作ini配置文件

QSettings操作ini配置文件

QSettings有两种方法,1是操作注册表,2是操作ini文件。笔者喜欢后一种,主要介绍后一种。

何时使用

一般分两种情况:

  1. 保存软件使用过程中修改的一些文本、数字信息,下次打开软件时可以直接显示上次关闭软件时修改的值,而不是默认的值。需要 读写 ini文件。
  2. 直接存储一些配置信息,如调试、校准参数等,不需要界面显示,数据不合适时,可直接修改ini文件内容。只 ini文件即可。

如何使用

我们这是介绍最简单的一种方法,可满足一般需求。如不能满足请自行查看帮助文档。

保存数据到ini文件

先上代码:

#include 

void SettingTest::writesettings()
{    
   //保存界面值
   QSettings settings("setInfo.ini",QSettings::IniFormat);

    settings.beginGroup("Calibration");
    settings.setValue("powerCalibration",1);
    settings.setValue("powerInitValue",0);
    settings.setValue("temperatureCalibration",1);

    settings.endGroup();
}

若项目的构建目录下无setInfo.ini文件,则将在此目录下生成此文件。
打开生成的文件看一下:

[Calibration]    
powerCalibration=1
powerInitValue=0
temperatureCalibration=1

[Calibration]为组名,下面为保存的数据。若要创建多组 可重复上述代码。

此函数一般在析构函数中调用即可

从ini文件读数据

oid SettingTest::readsettings()
{
    QSettings settings("setInfo.ini",QSettings::IniFormat);

    settings.beginGroup("Calibration");
    powerCalibration=settings.value("powerCalibration",1).toFloat();
    powerInitValue=settings.value("powerInitValue",0).toFloat();
    temperatureCalibration=settings.value("temperatureCalibration",1).toFloat();

    settings.endGroup();
}

不用多说,看代码即可。
settings.value("powerCalibration",1)第二个参数,为若powerCalibration不存在或无具体值,则赋值1。

此函数常用在构造函数中

若为第二种使用情况,则可以直接自行创建ini文件放到项目构造目录(编写过程)或软件文件夹根目录(软件部署打包后),直接读相关数据即可。

你可能感兴趣的:(QT)