本文介绍Qt读写配置(ini)文件。
1.配置文件(ini)简介
配置文件(ini)也叫ini文件(Initialization File),即初始化文件。它由节名,键名,键值构成。其文件构成如下:
cpp
[Student]
name=Bob
sex=male
age=16
其中,
1)[Student]为节名
2)name为键名,Bob为键值,它俩由"="连接起来组成键值对。
2.使用QSetting类读写配置文件
Qt采用QSetting类对配置(ini)文件进行操作(建立,读,写)。
1)建立
指定文件名(需给出路径,相对路径或绝对路径)即可,代码如下:
cpp
QSettings *settings;
settings = new QSettings("Config.ini", QSettings::IniFormat);
2)读操作
读操作指定节名和键名即可,因value返回的是QVariant类型。需要根据实际使用情况转换为相应的类型,如这里转换成了String类型。代码如下:
cpp
settings->value("Student/name").toString();
3)写操作
写操作有2种方法,一种直接指定节名和键名,并给出键值即可。另一种可以先指定节名,然后再根据键名给出键值即可。
a)方法1
直接指定节名和键名,代码如下:
cpp
settings->setValue("Student/name", "Bob");
settings->setValue("Student/sex", "male");
b)方法2
先指定节名,然后再根据键名,给出键值,代码如下:
cpp
settings->beginGroup("Student");
settings->setValue("name", "Bob");
settings->setValue("sex", "male");
settings->endGroup();
3.参考源代码
这里给出一个以字符串为写入和读出的类,参考代码如下:
1)"Config.h"文件
cpp
#ifndef CONFIG_H
#define CONFIG_H
#include <QObject>
#include <QSettings>
class Config : public QObject
{
Q_OBJECT
public:
explicit Config(QObject *parent = nullptr);
~Config();
public:
void setValue(const QString section, const QString key, const QString value);
QString getValue(const QString section, const QString key);
private:
QSettings *settings;
signals:
public slots:
};
#endif // CONFIG_H
2)"Config.cpp"文件
cpp
#include "config.h"
Config::Config(QObject *parent) : QObject(parent)
{
settings = new QSettings("Config.ini", QSettings::IniFormat);
}
Config::~Config()
{
delete settings;
}
void Config::setValue(const QString section, const QString key, const QString value)
{
settings->beginGroup(section);
settings->setValue(key, value);
settings->endGroup();
}
QString Config::getValue(const QString section, const QString key)
{
QString path = QString("%1/%2").arg(section).arg(key);
return settings->value(path).toString();
}
总结,本文介绍了Qt读写配置(ini)文件。