[Config] <-----------section
DBDriver=QODBC <-----------key=value
DataBaseIP=127.0.0.1
DataSourceName=Local
UserName=sa
Password=
Port=1433
新增及修改接口
#include <QSettings>
#include <QTextCodec>
void SetConfigFile(QString section, QString key, QString value)
{
QSettings settings("Config.ini", QSettings::IniFormat);
settings.setIniCodec(QTextCodec::codecForName("UTF-8"));
QString str = "/" + section + "/" + key;
settings.setValue(str, value);
}
删除接口
void DeleteSection(QString section)
{
QSettings settings("Config.ini", QSettings::IniFormat);
settings.setIniCodec(QTextCodec::codecForName("UTF-8"));
settings.beginGroup(section);
settings.remove("");
settings.endGroup();
}
获取节点下key对应的值
void ReadConfigFile(QString section, QString key, QString &value)
{
QSettings settings("Config.ini", QSettings::IniFormat);
settings.setIniCodec(QTextCodec::codecForName("UTF-8"));
QString str = "/" + section + "/" + key;
value = settings.value(str).toString();
}
遍历节点下所有key来获取value
void GetAllValueBySection(QString section)
{
QSettings settings("Config.ini", QSettings::IniFormat);
settings.setIniCodec(QTextCodec::codecForName("UTF-8"));
settings.beginGroup(section); //切换到这个section
QStringList allKeys = settings.allKeys(); //获取这个section下的所有key
std::vector<QString> valueVec;
for (const QString &key : allKeys)
{
valueVec.push_back(settings.value(key).toString());
}
settings.endGroup(); //结束section
}