0
我开始为我的程序制作设置表单,但我有点卡在设置数据中。我可以创建一个QSettings
实例,但是我应该怎么处理它呢?如何以及在哪里可以在Android上保存QSettings?
QApplication app(argc, argv);
QSettings settings;
settings.setValue("test", QVariant((int)42));
// Now what?
我开始为我的程序制作设置表单,但我有点卡在设置数据中。我可以创建一个QSettings
实例,但是我应该怎么处理它呢?如何以及在哪里可以在Android上保存QSettings?
QApplication app(argc, argv);
QSettings settings;
settings.setValue("test", QVariant((int)42));
// Now what?
通常,您不需要知道设置的存储位置。 通常使用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的析构函数并在规律 间隔事件循环自动 调用,所以你通常不需要自己
)
把它和保存是自动完成的? –
这是什么意思“自动”?在使用QSettings进行保存时,您需要为每个变量调用setValue()(使用唯一的pair-key)。并且您不需要执行其他操作 –
保存意味着设置实际上被写入程序存储器之外的某个位置(例如文件)。所以我问的是这是否会自动发生,如果是这样,我想知道什么时候...否则,我需要知道如何保存设置(例如文件,系统注册表或Android使用的任何东西)。 –