В моей программе у меня есть файл настроек/конфигурации стиля Microsoft INI, который создается, редактируется и сохраняется с использованием удобного класса QSettings
, но пользователь может вручную редактировать этот файл с помощью самой программы или любого текстового редактора, например gedit
или vim
. Порядок, в котором появляются пары ключ=значение, важен. Проблема в том, что всякий раз, когда я пытаюсь сохранить изменения во время выключения, порядок пар ключ = значение меняется на случайный порядок, и кажется невозможным остановить QSettings
от его изменения. Для пояснения вот пример файла конфигурации:
[AlarmGroup1]
DateTimeNotInitialized=1
DateTimeStampError=2
ParametersMissingOrInconsistent=3
NotInitialized=4
FlashMemoryFatalError=5
NotIdentified=6
который меняется на:
[AlarmGroup1]
ParametersMissingOrInconsistent=3
DateTimeNotInitialized=1
DateTimeStampError=2
NotInitialized=4
FlashMemoryFatalError=5
NotIdentified=6
Можно ли избежать изменения порядка? Почему Qsettings
так себя ведет?