概述
有时候,我们需要根据本地的配置文件,去配置我们的程序,在其他语言中,可能需要自己去写读写文件的逻辑,而在QT
中,就直接提供了QSettings
类,简化了我们的操作!
平台
- ubuntu
- QT5.9
一.配置文件长什么样子?
![](https://img.haomeiwen.com/i10905716/9304cba1800fad23.png)
-
图中带
[]
以下为一个group
-
以键值对的形式存储,等号左边是
key
,右边是value
二.如何读写配置文件
- 主要使用两个函数
-
QVariant value(const QString &key, const QVariant &defaultValue = QVariant())
- 第一个参数是键
- 第二个参数是默认值,也就是说如果没有读到值,就返回该默认值,如填-1 ,就返回-1
- 返回值
-
void setValue(const QString &key, const QVariant &value)
- 第一个参数是键
- 第二个参数是值
-
以下代码可创建出如上述图片所写配置文件:
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.头文件包含
#include <QSettings>
2. 配置文件不存在就创建
QSettings *settings = new QSettings("/home/cai/qt_pro/Qsettings/QsettingsTest/setting.ini",QSettings::IniFormat);
3. 读配置文件
//注意:需要从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. 写配置文件
settings->beginGroup("MAIN");
settings->setValue("CSDN_TITLE","QingXun");
settings->endGroup();
settings->beginGroup("OTHER");
settings->setValue("CSDN_DESCRIPTION","Share My Learning exprience");
settings->endGroup();
3.测试结果
![](https://img.haomeiwen.com/i10905716/13a8b9b8c9629424.png)
后续也将分享QT的学习,欢迎点赞,关注,赞赏我!
网友评论