Question

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?

Was it helpful?

Solution

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();
}

OTHER TIPS

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top