简介
INI 文件(Initialization File)是一种简单的文本文件格式,通常用于存储配置信息。它的结构非常简单,由一系列的节(Section)和键值对组成。
INI 文件的基本特点如下:
- 文件后缀名:通常使用 .ini 作为 INI 文件的后缀名,例如 config.ini。
- 节(Section):每个节都用方括号 [ ] 括起来,表示一个配置项的分类。节是可选的,如果没有指定节,默认的配置项会放在一个称为 “default” 或 “global” 的假想节中。
- 键值对(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;
六、效果
打印结果:
在项目目录下找到的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();
}