如何以及在何处保存Android上的QSettings?

时间:2016-01-22 12:06:11

标签: android qt qsettings

我开始为我的程序制作一个设置表单,但我有点不满设置数据。我可以创建一个QSettings实例但是我应该用它做什么呢?

QApplication app(argc, argv);
QSettings settings;
settings.setValue("test", QVariant((int)42));
// Now what?

1 个答案:

答案 0 :(得分:1)

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

//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的析构函数和常规的事件循环   间隔,所以你通常不需要自己调用