概述
有时候,我们需要根据本地的配置文件,去配置我们的程序,在其他语言中,可能需要自己去写读写文件的逻辑,而在QT
中,就直接提供了QSettings
类,简化了我们的操作!
文章目录- 概述
- 平台
- 一.配置文件长什么样子?
- 二.如何读写配置文件
- 1.头文件包含
- 2. 配置文件不存在就创建
- 3. 读配置文件
- 4. 写配置文件
- 3.测试结果
- 1.头文件包含
- 2. 配置文件不存在就创建
- 3. 读配置文件
- 4. 写配置文件
平台
- ubuntu
- QT5.9
一.配置文件长什么样子?
- 图中带
[]
以下为一个group
- 以键值对的形式存储,等号左边是
key
,右边是value
二.如何读写配置文件
- 主要使用两个函数
- QVariant value(const QString &key, const QVariant &defaultValue = QVariant())
- 第一个参数是键
- 第二个参数是值
- 返回值
- void setValue(const QString &key, const QVariant &value)
- 第一个参数是键
- 第二个参数是默认值,也就是说如果没有读到值,就返回该默认值,如填-1 ,就返回-1
以下代码可创建出如上述图片所写配置文件:
代码语言:javascript复制 QSettings *settings = new QSettings("/home/cai/qt_pro/Qsettings/QsettingsTest/setting.ini",QSettings::IniFormat);
//Read
settings->beginGroup("QT");
QString LEARN_OBJECT = settings->value("LEARN_OBJECT","").toString();
double VERSION = settings->value("QT_VERSION",-1).toDouble();
qDebug()<<"LEARN_OBJECT="<<LEARN_OBJECT<<endl;
qDebug()<<"QT_VERSION="<<VERSION<<endl;
settings->endGroup();
//Write
settings->beginGroup("MAIN");
settings->setValue("CSDN_TITLE","QingXun");
settings->endGroup();
settings->beginGroup("OTHER");
settings->setValue("CSDN_DESCRIPTION","Share My Learning exprience");
settings->endGroup();
1.头文件包含
代码语言:javascript复制#include <QSettings>
2. 配置文件不存在就创建
代码语言:javascript复制 QSettings *settings = new QSettings("/home/cai/qt_pro/Qsettings/QsettingsTest/setting.ini",QSettings::IniFormat);
3. 读配置文件
代码语言:javascript复制 //注意:需要从group中读出,否则将读不出来
settings->beginGroup("QT");
QString LEARN_OBJECT = settings->value("LEARN_OBJECT","").toString();
double VERSION = settings->value("QT_VERSION",-1).toDouble();
qDebug()<<"LEARN_OBJECT="<<LEARN_OBJECT<<endl; //输出至控制台
qDebug()<<"QT_VERSION="<<VERSION<<endl;//输出至控制台
settings->endGroup();
4. 写配置文件
代码语言:javascript复制 settings->beginGroup("MAIN");
settings->setValue("CSDN_TITLE","QingXun");
settings->endGroup();
settings->beginGroup("OTHER");
settings->setValue("CSDN_DESCRIPTION","Share My Learning exprience");
settings->endGroup();
三.测试结果
后续将继续分享QT的学习