2016-01-22 83 views

回答

1

通常,您不需要知道设置的存储位置。 通常使用QSettings:您需要将您的组织名称设置为应用程序的名称。保存时需要设置部分和键以及参数。

//set names 
QCoreApplication::setOrganizationName("MySoft"); 
QCoreApplication::setApplicationName("Star Runner"); 
//... 
QSettings settings; 
//saving 
settings.setValue("MySection/MyKey", 42); 
//loading: section, key, and default value (default value will be used if the setting doesn't exist) 
int val = settings.value("MySection/MyKey", 0).toInt(); 

更新

//Perhaps, for Android it is necessary to call a function 
settings.sync(); 

(从文档:

void QSettings::sync() 

写入永久 存储任何未保存的更改,并重新加载已在改变任何设置 同时由另一个应用程序执行此功能从QSettings的析构函数并在规律 间隔事件循环自动 调用,所以你通常不需要自己

+0

把它和保存是自动完成的? –

+0

这是什么意思“自动”?在使用QSettings进行保存时,您需要为每个变量调用setValue()(使用唯一的pair-key)。并且您不需要执行其他操作 –

+1

保存意味着设置实际上被写入程序存储器之外的某个位置(例如文件)。所以我问的是这是否会自动发生,如果是这样,我想知道什么时候...否则,我需要知道如何保存设置(例如文件,系统注册表或Android使用的任何东西)。 –

相关问题