在程序编程中,配置文件(*.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();
}
}