How to read a value using QSetting if the value contains comma character

6.6k Views Asked by At

In my QT project I am reading values from .ini file using QSettings. If the value contains comma character QSettings is not able to read it. How should I read such values?

2

There are 2 best solutions below

0
On BEST ANSWER

Comma character is treated as list separator by QSettings. INI values with commas are parsed as string lists. You can convert a string list back to original string as follows:

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

simply create a ini file with qsettings and a comma in configuration string. Characters being control chars for ini-files will be escaped by % percent sign.