美文网首页
QSettings使用

QSettings使用

作者: BrokenRainK | 来源:发表于2021-03-04 11:56 被阅读0次

    创建配置文件操作对象

    1、带路径

    QSettings settings("./config.ini", QSettings::IniFormat); 
    

    2、不带路径

    配置文件路径默认为C:\Users\用户名\AppData\Roaming\organization\application.ini

    方式一

    QSettings settings("organization", "application");   //organization:公司名称  application:应用名称 可根据自己需求更改
    settings.setDefaultFormat(QSettings::IniFormat);
    

    方式二

    QCoreApplication::setOrganizationName("organization");
    QCoreApplication::setApplicationName("application");
    QSettings settings;
    settings.setDefaultFormat(QSettings::IniFormat);
    

    推荐使用方式二,在main函数中调用QCoreApplication::setOrganizationName()QCoreApplication::setApplicationName()后,其他地方使用QSettings时省略传参

    写配置文件

    QSettings settings;
    settings.setValue("General/color", "#7e2598");
    settings.setValue("General/savePath", "D:/Users");
    
    // 注释部分代码效果和上面一致
    // settings.beginGroup("General");
    // settings.setValue("color", "#7e2598");
    // settings.setValue("savePath", "D:/Users");
    // settings.endGroup();
    
    settings.setValue("General", 1);
    settings.setValue("sofa", true);
    settings.setValue("tv", false);
    

    配置文件内容为

    [General]
    color=#7e2598
    savePath=D:/Users
    
    General=1
    sofa=true
    tv=false
    

    读配置文件

    QSettings settings;
    QString value = settings.value(QString("General/color")).toString();    //value = "#7e2598"
    value = settings.value(QString("General/savePath")).toString();         //value = "D:/Users"
    int iValue = settings.value(QString("General")).toInt();                //iValue = 1
    bool bValue = settings.value(QString("sofa")).toBool();                 //bValue = true
    bValue = settings.value(QString("tv")).toBool();                        //bValue = false
    

    删除配置项

    QSettings settings;
    settings.remove("General");
    
    // 注释部分代码效果和上面一致
    // settings.beginGroup("General");
    // settings.remove("");
    // settings.endGroup();
    
    QStringList keys = settings.allKeys();
    // keys: ["sofa", "tv"]
    

    相关文章

      网友评论

          本文标题:QSettings使用

          本文链接:https://www.haomeiwen.com/subject/ylohqltx.html