Сохраняю строку в файл ini следующим образом:
settings.setValue('settings/test', self.lineEdit.text())
Загружаю её из файла так:
self.ui.lineEdit.setText(settings.value('settings/test', ''))
Если строка не очень длинная, то сохраняет ее так:
[settings] test=my test string
Если длинная, то так:
[settings] test="my test string 1veryverylongstringsadfnbadskjgnsdkjfnkjsdnfkjsdnfkjsdnfkjsdnfkjsndkfjnsdkjfn"
Т. е. Добавляет двойные кавычки.
Поэтому когда загружается длинная строка, она загружается вместе с кавычками. А такого быть не должно. Это проблема номер 1, но не это мешает, т.к. я написал функцию, которая обрезает эти кавычки при загрузке.
Проблема номер 2:
Как я уже говорил, если сохранять короткую строку, то сохраняет без кавычек. Если эта строка содержит символ к примеру “,” (запятая), то при загрузке этой строки из файла настроек вылетает ошибка: QLineEdit.setText(str): argument 1 has unexpected type ‘list’.
Оно распознает эту строку ( test=my test, string) как лист…
Есть каки-е либо рекомендации как беспроблемно сохранять данные в ini и загружать их от туда?
Есть у меня мысль кодировать эти строки в HEX тогда проблем не будет, но тогда файл примет нечитабельный вид… Чего не хотелось бы.