【QT笔记】QSettings 类读写配置文件

简介

INI 文件(Initialization File)是一种简单的文本文件格式,通常用于存储配置信息。它的结构非常简单,由一系列的节(Section)和键值对组成。

INI 文件的基本特点如下:

  1. 文件后缀名:通常使用 .ini 作为 INI 文件的后缀名,例如 config.ini。
  2. 节(Section):每个节都用方括号 [ ] 括起来,表示一个配置项的分类。节是可选的,如果没有指定节,默认的配置项会放在一个称为 “default” 或 “global” 的假想节中。
  3. 键值对(Key-Value Pair):每个键值对都由键(Key)和对应的值(Value)组成,中间使用等号(=) 连接。键是不区分大小写的,并且前后的空格会被忽略。值可以包含任意字符,但可以根据需要进行解析和转义。

在使用 Qt 编程框架时,可以使用 QSettings 类来读取和写入配置文件(.ini)。

一、包含必要的头文件

首先,在代码中包含以下头文件:

#include <QCoreApplication>
#include <QSettings>
#include <QDebug>

二、创建一个 QSettings 对象

在代码中创建一个 QSettings 对象来操作配置文件。需要指定配置文件的路径和格式。如果文件不存在,QSettings 会自动创建一个新的配置文件。

//第一个参数:文件路径;第二个参数:默认就行。
QSettings settings("path/config.ini", QSettings::IniFormat);

三、写入配置项

使用 setValue() 方法来写入配置项,指定键和对应的值。例如:

//第一个参数指定节和键的名称,节和键使用/连接;第二个参数是值。
settings.setValue("info/username", "JohnDoe");
settings.setValue("info/password", "qwerty");

四、读取配置项

使用 value() 方法读取配置项的值,通过指定键名来获取相应的值。如果键不存在,value() 方法会返回一个默认值。例如:

//第一个参数指定键的名称;第二个参数为可选参数,若键值不存在则返回此值。
QString username = settings.value("info/username").toString();
QString password = settings.value("info/password", "defaultPassword").toString();

五、打印配置项的值

使用 qDebug() 函数打印配置项的值。例如:

qDebug() << "Username: " << username;
qDebug() << "Password: " << password;

六、效果

打印结果:

0
在项目目录下找到的INI文件:

在这里插入图片描述

七、完整代码

完整代码如下:

#include <QtWidgets/QApplication>
#include <QSettings>
#include <QDebug>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    // 创建 QSettings 对象,指定配置文件路径和格式
    QSettings settings("config.ini", QSettings::IniFormat);

    // 写入配置项
    settings.setValue("info/username", "JohnDoe");
    settings.setValue("info/password", "qwerty");

    // 读取配置项
    QString username = settings.value("info/username").toString();
    QString password = settings.value("info/password", "defaultPassword").toString();

    // 打印配置项的值
    qDebug() << "Username: " << username;
    qDebug() << "Password: " << password;

    return a.exec();
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式小菜鸡互啄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值