ini. У некоторых ключей есть значения на русском. Чтобы значения нормально считывались, я открываю файл в utf8
QSettings settings
settings.setIniCodec("UTF-8");
Все хорошо считывается. У меня есть ключ, который не относится к русскому тексту. Допустим называется interval. Когда меняется interval, то QSettings полностью перезаписывает файл.
Есть текст типа:
text_test="Тестовая строка\nТестовая строка 2"
После перезаписи QSettings, ковычки сбрасываются. Это норма. Но есть текст
text="@CТест\n@Lтест 2"
После перезаписи QSettings кавычки остаются и дублируется первый символ @:
text="@@CТест\n@Lтест 2"
В чем нюанс первого символа @ ?
Создал еще одно значение test3="@test" которое вообще не используется в программе. После перезаписи настроек так же продублировался символ @ и кавычки исчезли
В общем глянул исходники, QSettings экранирует первый символ @ , т.к. использует его для своих типов типа @Point, @ByteArray и т.д.
Обсуждают сегодня