该文档将QSettings::clear
函数描述为:
但是,这是什么意思?主要位置和后备位置是什么????
最佳答案
主要位置取决于操作系统和您的设置。对于Windows,这是注册表等。根据QSettings
的文档:
主要位置是最特定的位置:通常是应用程序的用户特定位置。
您可以为所有用户/应用程序提供共享的默认值。但是,如果您调用clear()
,它们不会被删除。仅清除用户和应用程序特定的值。
例子
如果使用公司和应用程序名称或使用默认构造函数初始化QSettings
对象,则主要值为应用程序和用户特定的值。对于大多数应用来说就是这种情况。如果仅使用默认构造函数创建QSettings
对象,则使用QApplication
中的值(应用程序名称和组织名称)。
QSettings settings("MySoft", "Star Runner");
settings.clear();
// or
QSettings settings(); // use the values from QApplication
settings.clear();
如果使用其他值初始化
QSettings
对象,则可以选择另一个主要的“商店”:QSettings settings("MySoft");
settings.clear(); // clears values for whole company if possible.
QSettings settings(QSettings::SystemScope, "MySoft", "Star Runner");
settings.clear(); // clears system wide settings for the application.
QSettings settings(QSettings::SystemScope, "MySoft");
settings.clear(); // clears system wide settings for the company.
后三种情况很少见,没有多大意义。此外,应用程序还需要写入系统范围设置的权限。