有两种可能的方式:
- 将所有设置加载到某个结构中
- 按需加载值
哪种方法更好?
最佳答案
这取决于您使用设置文件的方式。您是否希望您的应用程序的用户动态更改文件(例如.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();
// ...
}
然后,由于 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);
}
关于c++ - 如何使用 QSettings 在 Qt 应用程序中加载设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14365653/