如果值包含逗号字符,如何使用QSetting读取值

时间:2013-08-05 07:40:39

标签: qt ini qsettings

在我的QT项目中,我正在使用QSettings从.ini文件中读取值。如果值包含逗号字符,则QSettings无法读取它。我该如何阅读这些价值观?

2 个答案:

答案 0 :(得分:5)

逗号字符被QSettings视为列表分隔符。带逗号的INI值被解析为字符串列表。您可以将字符串列表转换回原始字符串,如下所示:

QVariant value = settings.value("key");
QString string;
if (value.type() == QVariant::StringList) {
  string = value.toStringList().join(",");    
} else {
  string = value.toString();
}

答案 1 :(得分:0)

只需使用qsettings和配置字符串中的逗号创建一个ini文件。作为ini文件控制字符的字符将被%百分号转义。