Сохраняет ли Qt QSettings ключ / значение в памяти после загрузки? - PullRequest
1 голос
/ 06 апреля 2011

я использую QSettings для записи в INI-файл и загрузки конфигурации при запуске приложения мой вопрос, как только я загружаю значение по ключу, объект QSettings хранит значение ключа в памяти или он читает значение из файла INI?

1 Ответ

3 голосов
/ 06 апреля 2011

Значения обрабатываются в памяти, поэтому изменение файла не изменит объект QSettings, который у вас есть в памяти, и наоборот.

редактирование:

Вызовите sync для обновления в / из файла.

Сохраняет значения, которые вы изменили, и считывает все значения, которые вы не изменили, но были изменены в файле.

Пример

// settings.ini contains keys Hello and Hi, which contain both "-"

QSettings settings("settings.ini", QSettings::IniFormat),

// in settings object: *Hello* contains *-* and *Hi* contains *-*   
// in settings.ini: *Hello* contains *-* and *Hi* contains *-*

settings.setValue("Hello", "World");
// settings.ini is modified, Hi now contains World

// in settings object: *Hello* contains *World* and *Hi* contains *-*   
// in settings.ini: *Hello* contains *-* and *Hi* contains *World*

settings.sync();

// in settings object: *Hello* contains *World* and *Hi* contains *World*   
// in settings.ini: *Hello* contains *World* and *Hi* contains *World*

Или вот как это должно работать, если я правильно помню


из документов qt (5.10) в QSettings :: sync () - эта функция вызывается автоматически из деструктора QSettings и цикла событий через регулярные промежутки времени, поэтому обычно вам не нужно вызывать ее самостоятельно.

- lumos0815

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...