Qt: QSettings в Windows с INI-файлами и комментариями
у меня есть приложение, которое я пишу с помощью Qt 4.5.2 в Windows. Я сохраняю некоторые настройки в INI-файле и использую QSettings для загрузки и сохранения настроек. Я хотел бы иметь некоторые комментарии в INI-файле.
например:
; Meta-info to store with the file
[General]
MainWindowsize=@Size(1280 600)
MainWindowpos=@Point(0 300)
Debugging=true
тем не менее, я нашел, когда я загружаю файл настроек с
QSettings settings( "settings.ini", QSettings::IniFormat );
комментарии удаляются из файла. INI-файл перезаписывается после загрузки с помощью вызова QSettings:: sync () (это выполняется автоматически конструктором). Есть ли способ сохранить комментарии после синхронизации?
упреждающий комментарии:
- я хочу INI-файлы в Windows для будущей кросс-платформенной совместимости
- я хочу сохранить мета-информацию в файле для справки за пределами приложения
- я рассматриваю возможность сделать мета-информацию разделом INI и использовать name=value правила, но предпочел бы сохранить информацию комментарий
1 ответов
QSettings
нет понятия "сохранить". Все изменения, которые вы делаете, считаются окончательными и записываются на диск часто и прозрачно.
в документации QSettings
, нет упоминания о комментариях в ini-файлах. Это имеет смысл: в конце концов, это может быть и значение реестра. Рассматривайте его как сгенерированный файл: это один.
вот мое предложение:
[General]
Comment = @String(Meta-info to store with the file)
MainWindow\size=@Size(1280 600)
MainWindow\pos=@Point(0 300)
Debugging=true
Я не знаю, работает ли он, поиграйте с ним, чтобы увидеть, как это на самом деле сохраняет строку. О, и убедитесь, что вы либо установили его из кода, либо задокументировали его правильно, чтобы случайно не использовать тот же идентификатор из программы.