Qt读写INI配置文件

本文介绍使用Qt进行INI文件的读写操作。通过示例代码展示了如何创建、写入和读取INI文件中的配置信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通常,为了保存各种系统配置,我们可以通过写注册表或者写ini文件的方式来进行。这里,我就来举例说明如何用qt来实现ini文件的写入和读取。

假如,需要在C盘根目录下面建立一个名为config.ini的文件,里面有一个section叫做“path”,该section下面,有一个key叫做libpath,其值为“c://lib”,也就是下图所示的样子,

 

之后,我们还将其中的数值读取出来,那么,下面的代码可以作为参考:

#include <QtGui/QApplication>
#include <QSettings>
#include <QStringList>
#include <QVariant>
#include <QDebug>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QSettings *configIni = new QSettings("c://config.ini", QSettings::IniFormat, 0);
    configIni->beginGroup("path");
    configIni->setValue("libPath", "c://lib");
    configIni->endGroup();
    delete configIni;

    QSettings *readIni = new QSettings("c://config.ini", QSettings::IniFormat, 0);
    readIni->beginGroup("path");
    QStringList keys = readIni->allKeys();
    QVariant *var = new QVariant;
    for(int i=0; i<keys.size(); i++)
    {
        qDebug()<<keys[i]<<endl;
        QString str = readIni->value(keys[i]).toString();
        qDebug()<<"str = "<<str<<endl;
    }
    delete readIni;
    delete var;

    return a.exec();
}

//================================================================

void WriteSettings()

{

    //QSettings settings("Software Inc", "Spreadsheet"); // windows在注册表中建立建 Software Inc -> Spreadsheet

    QSettings settings("Option.ini", QSettings::IniFormat); // 当前目录的INI文件

    settings.beginGroup("DevOption");

    settings.setValue("mainFun", 25);

    settings.setValue("subFun", 40);

    settings.setValue("service", 1);

    settings.endGroup();

}

void ReadSettings()

{

    QSettings settings("Option.ini", QSettings::IniFormat);

    int mainFun = settings.value("DevOption/mainFun").toInt();

    int subFun = settings.value("DevOption/subFun").toInt();

    QString service = settings.value("DevOption/service").toString();

 

    qDebug() << "service" << service;

    qDebug() << "mainFun" << mainFun;

    qDebug() << "subFun" << subFun;

}

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

{

    QCoreApplication a(argc, argv);

    WriteSettings();

    ReadSettings();

    return a.exec();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值