Qt中QSettings读写ini文件

本文详细介绍了如何使用Qt中的QSettings类来保存和读取INI格式的配置文件。包括分组保存数据、删除特定键值对、修改键值内容以及读取INI文件的方法。通过具体示例展示了QSettings的基本操作。

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

    // QSettings的使用
    // 1.QSettings保存ini配置文件
    QString filePath = QCoreApplication::applicationDirPath() + "/myTest.ini";
    QString strGroupNameUser = "user";
    QString strGroupNameDevice = "device";
    QString strUser = "admin";
    QString strPassword = "A123456";
    QString strIp = "192.168.0.2";
    QString strPort = "8000";
    QSettings setting(filePath    ,QSettings::IniFormat);

    // 分组保存
    setting.beginGroup(strGroupNameUser);
    setting.setValue("user_name", strUser);
    setting.setValue("password", strPassword);
    setting.endGroup();

    setting.beginGroup(strGroupNameDevice);
    setting.setValue("IP", strIp);
    setting.setValue("port", strPort);
    setting.endGroup();

    // 2.删除一个键值对
    // 删除一组setting.remove(strGroupNameDevice)
    // 删除全部的键值对setting.clear()
    setting.remove(strGroupNameUser+"/password");
    setting.remove(strGroupNameDevice+"/port");
    qDebug() << setting.allKeys();

    // 3.修改键值的内容
    setting.setValue(strGroupNameUser+"/user_name","user1");

    // 4.QSettings读取ini文件
    QSettings setting2(filePath, QSettings::IniFormat);
    setting2.beginGroup(strGroupNameUser);
    QString userName2 = setting2.value("user_name").toString();
    QString userPwd2 = setting2.value("password").toString();//被删除后,读出来是空字符串
    setting2.endGroup();    

    setting2.beginGroup(strGroupNameDevice);
    QString deviceIp = setting2.value("IP").toString();
    int devicePort2 = setting2.value("port").toInt();//被删除后,读出来的值是0
    setting2.endGroup();
    qDebug() << userName2 << " " << userPwd2 << " " << deviceIp << " " << devicePort2;

另参考:https://www.cnblogs.com/claireyuancy/p/7095249.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值