这取决于您使用设置文件的方式.您是否希望允许应用程序的用户动态更改文件中的设置(例如.ini文件)?或者必须由GUI设置设置?
如果您使用某些GUI来更改设置,我建议您从静态类加载应用程序开头的主要设置.
void SettingsManager::loadSettings()
{
// .ini format example
QSettings settings(FileName, QSettings::IniFormat);
IntegerSetting = settings.value("SettingName", default).toInt();
BooleanSetting = settings.value("SettingName", default).toBool();
// ...
}
Run Code Online (Sandbox Code Playgroud)
然后,由于QSettings优化,按需保存更改的值没有问题.
/**
* key is your setting name
* variant is your value (could be string, integer, boolean, etc.)
*/
void SettingsManager::writeSetting(const QString &key, const QVariant &variant)
{
QSettings settings(FileName, QSettings::IniFormat);
settings.setValue(key, variant);
}
Run Code Online (Sandbox Code Playgroud)