版權聲明:本文爲CSDN博主「紫梧桐」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/waangyan/article/details/69542724
QSettings之 beginGroup()、childKeys() 、value()
1. void QSettings:: beginGroup()
void QSettings::beginGroup(const QString & prefix)
Appends prefix to the current group.
給當前的group裏由QSettings指定的所有鍵(key),自動附上當前的group前綴。另外,一些查詢函數例如childGroups(), childKeys(), allKeys() ,是基於group操作的。
對於路徑相同的設置,使用group可以省去重複敲入路徑名稱的麻煩。例如:
settings.beginGroup("mainwindow");
settings.setValue("size", win->size());
settings.setValue("fullScreen", win->isFullScreen());
settings.endGroup();
settings.beginGroup("outputpanel");
settings.setValue("visible", panel->isVisible());
settings.endGroup();
上面代碼會設置三組設置的值:
mainwindow/size
mainwindow/fullScreen
outputpanel/visible
組(groups)能夠形成網絡。調用beginGroup()後,需要調用endGroup(), 復位當前的組(group)。即:beginGroup()和endGroup()成套使用,否則會形成group網絡。
2. QStringList QSettings:: childKeys() const
QStringList QSettings::childKeys() const
返回QSttings對象的所有頂層keys的一個列表。
例如:
QSettings settings;
settings.setValue("fridge/color", QColor(Qt::white));
settings.setValue("fridge/size", QSize(32, 96));
settings.setValue("sofa", true);
settings.setValue("tv", false);
QStringList keys = settings.childKeys();// keys: ["sofa", "tv"]
如果一個group用beginGroup()進行了group的設置,則返回的這個group裏的頂層keys,不含group前綴。
settings.beginGroup("fridge");
keys = settings.childKeys();// keys: ["color", "size"]
通過遞歸調用childKeys() 和childGroups() ,可以遍歷整個設置的各個層級。
3. Qvaiant Qsettings::value()
QVariant QSettings::value(const QString & key, const QVariant & defaultValue = QVariant()) const
返回鍵(key)的值。如果鍵不存在,返回默認值;如果沒有指定默認值,返回默認的QVariant值。
注意:windows註冊表和INI文件的鍵名(keys),大小寫不區分;而Mac OS X的Carbon Preference API的鍵名(keys),區分大小寫,也就是,大小寫敏感。
例如:
QSettings settings;
settings.setValue("animal/snake", 58);
settings.value("animal/snake", 1024).toInt(); // returns 58
settings.value("animal/zebra", 1024).toInt(); // returns 1024
settings.value("animal/zebra").toInt(); // returns 0
————————————————
版權聲明:本文爲CSDN博主「紫梧桐」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/waangyan/article/details/69542724