您的当前位置:首页正文

QT QSettings 类打开读写配置(*.ini)文件

2024-11-10 来源:个人技术集锦

在程序编程中,配置文件(*.ini)有大量的应用场景,用以保存程序关闭时所需要保存的数据,例如登录信息缓存、TCP服务器IP、端口缓存等等。

头文件

#include <QSettings>

写数据

//这里以存端口为例
QString listenport = "9999";
QSettings settings("./defualtPort.ini", QSettings::IniFormat);
settings.setValue("port", listenport);

"./defualtPort.ini":需要保存的文件,不存在会自动创建

QSettings::IniFormat:打开方式为配置(*.ini)文件格式

"port":Key的值

listenport:Value的值

读数据

QSettings settings("./defualtPort.ini", QSettings::IniFormat);
ui->line_port->setText(settings.value("port").toString());

settings.value("port").toString():根据Key值"port"索引,取出其Value值,和QMap的使用方式很像

选择分组

不选择分组时,自动默认为常用分组[General],如果需要切换分组使用下列函数切换即可。

QSettings settings(fileName, QSettings::IniFormat);
settings.beginGroup(gropStr);

遍历所有数据

    QSettings settings(fileName, QSettings::IniFormat);
    QStringList gropStrList= settings.childGroups(); // 获取所有分组名称

    foreach (const QString &gropStr, gropStrList) {
        settings.beginGroup(gropStr);
        qDebug() << QString("[%1]").arg(gropStr);
        QStringList keys = settings.childKeys(); // 获取所有键
        foreach (const QString &key, keys) {
            qDebug() << key + " : " settings.value(key).toString();
        }
    }
Top