qsetting 读取配置文件

( 一)简单了解

配置文件(.ini)格式:
number=2
[config]
node1=sucess;iii
size=20
[source]
name=PC

其中每行必须顶格写,;后的为注释部分,可用[]来定义上一层的项目。

1、用QSettings写ini文件:

  1. QSettings *ConfigIni = new QSettings("D:\\a.ini",QSettings::IniFormat,0);  

  2. ConfigIni->setValue("/config/node1",ui->lineEdit->text());  

  3. delete ConfigIni;  

QSettings *ConfigIni = new QSettings("D:\\a.ini",QSettings::IniFormat,0); ConfigIni->setValue("/config/node1",ui->lineEdit->text()); delete ConfigIni;

2、用QSettings读ini文件:

  1. QSettings *ConfigIni = new QSettings("D:\\a.ini",QSettings::IniFormat,0);  

  2. ui->lineEdit_2->setText(ConfigIni->value("/config/node1","20").toString());  

  3. delete ConfigIni;  

QSettings *ConfigIni = new QSettings("D:\\a.ini",QSettings::IniFormat,0); ui->lineEdit_2->setText(ConfigIni->value("/config/node1","20").toString()); delete ConfigIni;

------------------------------------------------------------------------------------------------

一 背景

 

1 ini文件介绍

.ini 文件是Initialization File的缩写,即初始化文件。

除了windows现在很多其他操作系统下面的应用软件也有.ini文件,用来配置应用软件以实现不同用户的要求。一般不用直接编辑这些.ini文件,应用程序的图形界面即可操作以实现相同的功能。它可以用来存放软件信息,注册表信息等。

 

2 ini文件格式

INI文件由节、键、值组成。 

  [section] 

参数(键=值)

name=value

下面是一个ini文件的例子

[Section1 Name]   

KeyName1=value1   

KeyName2=value2   

...   

[Section2 Name]   

KeyName21=value21   

KeyName22=value22   

其中:[Section1 Name]用来表示一个段落。因为INI文件可能是项目中共用的,所以使用[Section Name]段名来区分不同用途的参数区。例如:[Section1 Name]表示传感器灵敏度参数区;[Section2 Name]表示测量通道参数区等等。

注解:使用分号表示(;)。在分号后面的文字,直到该行结尾都全部为注解。

 

 

二 Qtini文件

[cpp] view plaincopyprint?

  1. #include <QtCore/QCoreApplication>  

  2. #include <QSettings>  

  3. int main(int argc, char *argv[])  

  4. {  

  5.    QCoreApplication a(argc, argv);  

  6.    //Qt中使用QSettings类读写ini文件  

  7.    //QSettings构造函数的第一个参数是ini文件的路径,第二个参数表示针对ini文件,第三个参数可以缺省  

  8.    QSettings *configIniWrite = new QSettings("hahaya.ini", QSettings::IniFormat);  

  9.    //向ini文件中写入内容,setValue函数的两个参数是键值对  

  10.    //向ini文件的第一个节写入内容,ip节下的第一个参数  

  11.    configIniWrite->setValue("/ip/first""192.168.0.1");  

  12.    //向ini文件的第一个节写入内容,ip节下的第二个参数  

  13.    configIniWrite->setValue("ip/second""127.0.0.1");  

  14.    //向ini文件的第二个节写入内容,port节下的第一个参数  

  15.    configIniWrite->setValue("port/open""2222");  

  16.    //写入完成后删除指针  

  17.    delete configIniWrite;  

  18.      

  19.    return a.exec();  

  20. }  


 

运行程序后,打开程序目录下的hahaya.ini文件,结果如下图所示:

qsetting 读取配置文件

 

三 Qtini文件

[cpp] view plaincopyprint?

  1. #include <QtCore/QCoreApplication>  

  2. #include <QSettings>  

  3. #include <QString>  

  4. #include <QDebug>  

  5. int main(int argc, char *argv[])  

  6. {  

  7.    QCoreApplication a(argc, argv);  

  8.   

  9.    QSettings *configIniRead = new QSettings("hahaya.ini", QSettings::IniFormat);  

  10.    //将读取到的ini文件保存在QString中,先取值,然后通过toString()函数转换成QString类型  

  11.    QString ipResult = configIniRead->value("/ip/second").toString();  

  12.    QString portResult = configIniRead->value("/port/open").toString();  

  13.    //打印得到的结果  

  14.    qDebug() << ipResult;  

  15.    qDebug() << portResult;  

  16.    //读入入完成后删除指针  

  17.    delete configIniRead;  

  18.    return a.exec();  

  19. }  


 

程序运行截图:

qsetting 读取配置文件






你可能感兴趣的:(qsetting 读取配置文件)