首先保证自己的ini文件为UTF-8格式,使用QSettings类打开或写入,然后在代码
QSettings settings(iniPath, QSettings::IniFormat);之后增加代码
settings.setIniCodec(QTextCodec::codecForName("UTF-8"));如下所示:
QString exeDir = QCoreApplication::applicationDirPath(); // 返回路径
QString iniPath = exeDir + "/config.ini";
QString s_link;
// 创建 QSettings 对象,指定格式为 IniFormat
QSettings settings(iniPath, QSettings::IniFormat);
settings.setIniCodec(QTextCodec::codecForName("UTF-8"));
// 读取 部分的值
if (settings.contains(QString("group1/name1")))
{
s_link = settings.value(QString("group1/name1")).toString();
}
else
{
s_link = QString(QString("视距"));
}
ini文件如下:
[group1]
name1 = "西安"
name2 = "北京"
name3 = "上海"
[group2]
m_name1 = "陕西"
m_name2 = "首都"
m_name3 = "魔都"