gpt4 book ai didi

c++ - Qt QSettings 是否在加载后将键/值保存在内存中?

转载 作者:行者123 更新时间:2023-11-30 03:07:51 24 4
gpt4 key购买 nike

我正在使用 QSettings 写入 ini 文件并在应用程序启动时加载配置我的问题是,一旦我按键加载值,QSettings 对象是否会将键值保存在内存中或者它从 ini 文件中读取值?

最佳答案

值在内存中处理,因此更改文件不会更改内存中的 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*

如果我没记错的话应该是这样的


在 QSettings::sync() 的 qt (5.10) 文档中 - 此函数会定期从 QSettings 的析构函数和事件循环中自动调用,因此您通常不需要自己调用它。

– lumos0815

关于c++ - Qt QSettings 是否在加载后将键/值保存在内存中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5561710/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com